索引与性能分析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了索引与性能分析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2902字,纯文字阅读大概需要5分钟。
内容图文
一、怎么知道sql执行效率的高低呢??? 1.set @@profiling =1; 2.执行语句。 3.show proliles; mysql show profiles; Empty set (0.00 sec) mysql set @@profiling=1; Query OK, 0 rows affected (0.00 sec) mysql select * from wtdoctor order by rand()
一、怎么知道sql执行效率的高低呢???
1.set @@profiling =1;
2.执行语句。
3.show proliles;
mysql> show profiles;
Empty set (0.00 sec)mysql> set @@profiling=1;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from wtdoctor order by rand() limit 2 \g
+-------------+---------------+-------------------------------------------------
+-------------------+---------------+---------------+------------------+--------
------------+-----------+
| wmxDoctorID | wmxDoctorName | wmxDoctorPhoto
| wmxProfessionalID | wmxAcademicID | wmxHospitalID | wmxDepartmentsID | wmxDise
asesClassID | inputtime |
+-------------+---------------+-------------------------------------------------
+-------------------+---------------+---------------+------------------+--------
------------+-----------+
| 5 | 琉璃 | ./default/Tpl/image/2014/03/04/139391281120.jpg
| 技术 | 医生 | 不知道 | 都带点 | 都带点
| 0 |
| 3 | 地点 | ./default/Tpl/image/2014/02/24/139322651638.jpg
| 地点 | 的d | 地点 | |
| 0 |
+-------------+---------------+-------------------------------------------------
+-------------------+---------------+---------------+------------------+--------
------------+-----------+
2 rows in set (0.00 sec)
mysql> show profiles;
+----------+------------+------------------------------------------------+
| Query_ID | Duration | Query |
+----------+------------+------------------------------------------------+
| 1 | 0.00058350 | select * from wtdoctor order by rand() limit 2 |
+----------+------------+------------------------------------------------+
1 row in set (0.00 sec)
想要查看语句执行的细节:
mysql>show proliles for query 1;
二、mysql执行计划。
就是在select语句前面放上关键字explain(说明),mysql解释它将如何处理select,提供有关表如何联合和以什么次序联合的信息。
我们能做什么?
1.什么时候我们必须为表加入索引,以得到一个使用索引找到记录的更快的select方法。
2.优化器是否以一个最佳次序联结表。
mysql>explain[extended] select * from t;
对比较复杂的查询进行计划分析时,可能会得到多条执行计划。
例如:
mysql>explain select * from t;
三。MYSQL索引建立和使用的基本原则!
1.合理设计和使用索引。
2.在关键字段的索引上,建与不建索引,查询速度相差近100倍。
3.差的索引和没有索引效果一样。
4.索引并非越多越好,因为维护索引需要成本。
5.每个表的索引应在5个以下,应合理利用部分索引和联合索引。
6.不在结果集中的结果单一的列上建索引。比如性别字段只有0和1两种结果,在这个字段上建索引并不会有太多的帮助。
7.建索引的结果集最好分布均匀,或者符合正态分布。
内容总结
以上是互联网集市为您收集整理的索引与性能分析全部内容,希望文章能够帮你解决索引与性能分析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。