在php中做mysql数据表时的疑惑
还有一个疑问:索引是查询表时,是不是等同于ID相等的条件呢,如果不等同,那有什么快的条件呢,搞不明白
回复讨论(解决方案)
1000 条数据
如果是顺序查找,最坏的情况是查找 1000 次(恰好要找的在最后一条)
如果对其排序后用二分法查找,最坏的情况也只需查找 10 次(2 的 10 次方为 1024)
显然后者要优于前者。这就是索引的力量
你已经注意到了,二分法查找是需要对数据排序的,而排序是需要时间的
虽然索引文件记录下了排序的结果,但一旦数据发生了变化(插入、修改、删除)就必须重新建立索引文件
所以如果每个字段都有索引的话,这个开销是可想而知的
因此,索引会加快查询的速度,减慢插入、修改、删除的速度
你需要根据具体情况来寻找平衡点
1000 条数据
如果是顺序查找,最坏的情况是查找 1000 次(恰好要找的在最后一条)
如果对其排序后用二分法查找,最坏的情况也只需查找 10 次(2 的 10 次方为 1024)
显然后者要优于前者。这就是索引的力量
你已经注意到了,二分法查找是需要对数据排序的,而排序是需要时间的
虽然索引文件记录下了排序的结果,但一旦数据发生了变化(插入、修改、删除)就必须重新建立索引文件
所以如果每个字段都有索引的话,这个开销是可想而知的
因此,索引会加快查询的速度,减慢插入、修改、删除的速度
你需要根据具体情况来寻找平衡点
把象都快抽的没边了,能不能通俗一点
索引也需要占空间 每一次记录变更都要对索引做修改 全部字段是索引 代价太大
等同于ID 我的理解你说的应该是主键 主键也是一个索引 如果ID不是主键 也是不快的
google 索引下吧
索引也需要占空间 每一次记录变更都要对索引做修改 全部字段是索引 代价太大
等同于ID 我的理解你说的应该是主键 主键也是一个索引 如果ID不是主键 也是不快的
google 索引下吧
一会装一个虚拟机,再用vpn翻出去google一下吧,哎,没有google 的日子是难受哈
上一篇: php过滤ascii控制字符_PHP教程
下一篇: 九、并发与性能调优~面试
推荐阅读
-
在php中做mysql数据表时的疑惑
-
mysql - php怎么在复选框中获取到变化的值?
-
mysql中null值在表达式计算时的影响_MySQL
-
在php中做数据表必须有外键吗
-
phpStudey2010中进入phpMyAdmin出现"无法在发生异常时创建会话,请检查PHP"的解决办法
-
在php中使用swoole扩展时,server端的回调函数中如何使用thinkphp框架的方法?
-
php-mysql 问题笔记一——在命令行中可以执行的sql语句,无法从php页面页面执行!
-
MySQL 左关联查询中两个以上数据表查询时,怎么得到唯一匹配的数据
-
在MySQL数据库中执行SQL语句时的几个注意点_MySQL
-
php中批量删除Mysql中相同前缀的数据表的代码_PHP