Maison > développement back-end > tutoriel php > PHP 面试题 Mysql 目录

PHP 面试题 Mysql 目录

WBOY
Libérer: 2016-06-13 10:51:45
original
997 Les gens l'ont consulté

PHP 面试题 Mysql 索引
题目:
PRODUCT表(id,name,price,count)

SQL code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->select * from PRODUCT where price=100
Copier après la connexion

目前已经在price字段上加上了索引
1.不过以上查询速度还是很慢,请试说出慢的原因
2.请问如何优化才能加快速度


------解决方案--------------------
1、数据量大 加上limit 一定数量的限制
2、字段可以写出只要需要的字段 seletc id, name 等
3、主键和price一起做一个联合索引

剩下的楼下补充
------解决方案--------------------
select * from PRODUCT where price=100

就这些?加了索引还很慢的话就没道理了。索引就是非遍历查询,直接定位到price为100的地方!数据量大的话,查询上肯定要比不加要快很多!

难道你的数据库里有很多个price为100的数据?
------解决方案--------------------
探讨

select * from PRODUCT where price=100

就这些?加了索引还很慢的话就没道理了。索引就是非遍历查询,直接定位到price为100的地方!数据量大的话,查询上肯定要比不加要快很多!

难道你的数据库里有很多个price为100的数据?

------解决方案--------------------
也许price字段根本就不适合加索引,并不是所有字段都能加索引,有些加了反而更慢!
------解决方案--------------------
price中重复数据太多导致查询效率下降的可能 最大。

------解决方案--------------------
单就这个查询而言,

慢是因为它不是唯一索引;



如果数据量大,基本上没有太好办法优化! 或者可以给价格加一个区间联合索引,这样可以选查区间,后后再查100
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal