-
查询冗余索引工具 pt-duplicate-key-checker -uroot -p '123456' -h 127.0.0.1查看全部
-
选择合适的索引列 1.在where,group by,order by,on从句中出现的列 2.索引字段越小越好(因为数据库的存储单位是页,一页中能存下的数据越多越好 ) 3.离散度大得列放在联合索引前面 select count(distinct customer_id), count(distinct staff_id) from payment; 查看离散度 通过统计不同的列值来实现 count越大 离散程度越高查看全部
-
对于limit,order by的优化,可以使用主键或者索引列进行操作,不然可能会有文件排序等占io的情况查看全部
-
group by可能会出现临时表(Using temporary),文件排序(Using filesort)等,影响效率。 可以通过关联的子查询,来避免产生临时表和文件排序,可以节省io 改写前 select actor.first_name,actor.last_name,count(*) from sakila.film_actor inner join sakila.actor using(actor_id) group by film_actor.actor_id; 改写后 select actor.first_name,actor.last_name,c.cnt from sakila.actor inner join( select actor_id,count(*) as cnt from sakila.film_actor group by actor_id )as c using(actor_id);查看全部
-
Mysql 中联接SQL语句中,ON子句的语法格式为:table1.column_name = table2.column_name。 当模式设计对联接表的列采用了相同的命名样式时,就可以使用 USING 语法来简化 ON 语法,格式为:USING(column_name)。查看全部
-
对于子查询的优化,可以优化成为join方式查询,但是这样子查询的话如果是一对多的关系,那么就要注意去重,可以用distinct关键字去重查看全部
-
1.对max()查询,可以为表创建索引,create index index_name on table_name(column_name 规定需要索引的列),然后在进行查询 2.count()对多个关键字进行查询,比如在一条SQL中同时查出2006年和2007年电影的数量,语句: select count(release_year='2006' or null) as '2006年电影数量', count(release_year='2007' or null) as '2007年电影数量' from film; 3.count(*) 查询的结果中,包含了该列值为null的结果查看全部
-
extra查看全部
-
explain 参数查看全部
-
innodb_file_per_table控制innodb每个表使用的独立表空间,默认OFF,也就是所有表都建立在共享表空间中。建议设置为ON查看全部
-
用bigint存ip地址,使用INET_ATON()和INET_NTOA()函数进行转换查看全部
-
int型转成日期时间:FROM_UNIXTIME() 日期时间转成int型:UNIX_TIMESTAMP()查看全部
-
通过慢查询日志配合pt-index-usage来删除不用索引:pt-index-usage -uroot -p '' mysql-slow.log查看全部
-
查询冗余索引工具 pt-duplicate-key-checker -uroot -p '123456' -h 127.0.0.1查看全部
-
慢查询工具:mysqldumpslow查看全部
举报
0/150
提交
取消