mysql允许最大sql语句长度配置

mysql允许最大sql语句长度配置

MySQL对于每个客户端连接都会分配连接buffer和结果集发送的buffer,连接buffer主要就是来接受客户端发送过来的sql语句,并且初始分配大小都是 net_buffer_length,可以动态增长,最多可以达到 max_allow_packet大小。这个参数是会话只读的,言外之意就是只能全局修改,新建连接才生效。max_allow_packet是MySQL控制网络包大小的参数,默认是4M。有次可控制一条mysql查询语句大大小,实现mysql慢sql相关优化。

mysql-like模糊查询优化

mysql-like模糊查询优化

sql语句写法

一张表大概40万左右的数据,用like模糊查询title字段,很慢,title字段已经建立了索引,mysql 对 someTitle% 这样的模糊查询在有索引的前提下是很快的。
所以下面这两台sql语句差别就很大了
$sql1 = “… title like someTitle%” (0.001秒)

$sql2 = “…… title like %someTitle%” (0.8秒)

mysql高性能优化规范方法

mysql高性能优化规范方法

数据库命令规范

  • 所有数据库对象名称必须使用小写字母并用下划线分割
  • 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)
  • 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符
  • **临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_**为前缀并以日期(时间戳)为后缀
  • 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)
mysql索引优化方案
一次数据库的死锁问题排查过程
mysql数据库索引解析
一千行 MySQL 学习笔记(转载)