MySql优化之慢查询日志
慢查询日志慢查询日志是MySql提供的一种日志记录,它用来记录在MySql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。根据日志来查看哪些SQL超出了我们的最大忍耐时间...
慢查询日志慢查询日志是MySql提供的一种日志记录,它用来记录在MySql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。根据日志来查看哪些SQL超出了我们的最大忍耐时间...
InnoDB存储引擎 InnoDB是MySql的默认存储引擎,也是最重要、使用最广泛的存储引擎。它被设计用来处理大量的短期事务,短期事务大部分情况是正常提交的,很少会被回滚。InnoDB的性能和自动崩溃恢复特性,使得它在非事务型存储的需求中也很流行。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引...
小表驱动大表 优化原则:小表驱动大表,即小的数据集驱动大的数据集。SELECT * FROM A WHERE id IN (SELECT id FROM B) 等价于: for SELECT id FROM B for SELECT * FROM A WHERE A.id = B.id 当数据表B的数据集小于A表时,用I...
索引失效 在SQL优化中我们会为表添加索引,但是有时候索引并没有按照我们的预想进行使用,这种现象我们称为"索引失效",这是需要避免的。准备CREATE TABLE `staffs`( `id` INT PRIMARY KEY AUTO_INCREMENT, `NAME` VARCHAR(24) NOT NU...
准备//还有两个表的数据请看【双表优化】文章 CREATE TABLE IF NOT EXISTS `phone`( `phoneid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `card` INT(10) UNSIGNED NOT NULL, PRIMARY KEY (`phoneid`) ); INSERT INTO...