随笔分类 - Mysql
摘要:背景 我们在优化MySQL时,需要考虑到创建索引,对字符型的列建立索引时,必须使用前缀索引,那么选择多大的长度合适呢? 数据表结构 计算完整列的选择性 计算方式 select count(DISTINCT left(pu_id,3))/count(*) as a3, count(DISTINCT l
阅读全文
摘要:binlog binlog用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog是mysql的逻辑日志,并且由Server层进行记录,使用任何存储引擎的mysql数据库都会记录binlog日志。 逻辑日志:可以简单理解为记录的就是sql语句。 物理日志:因为mys
阅读全文
摘要:问题 查询出数据表(ball)中,满足颜色是橙色,并且形状是圆形的球有哪些? 数据表 解决方案 方案一 方案二(与方案一类似) 常规的表设计是将 和`shape`作为字段,但是如果要扩展就需要预留一些其他字段。那么查询就简单的是多个字段中每个字段,同时满足一个值。 该表的设计中,一个球的属性与属性值
阅读全文
摘要:存储过程创建 很长时间没有在项目中使用到存储过程,今天特意回顾一下存储过程的创建与调用。存储过程类似于Java中的函数,我们定义函数(存储过程)将内部逻辑(SQL)封装。在调用时,只需要指定方法名(存储过程名称),传入对应的参数即可。下面我们在mysql终端定义存储过程 存储过程调用 上面我们定义了
阅读全文