今天小编要和大家分享的是嵌入式技术相关信息,接下来我将从数据库:为什么SQL使用了索引,却还是慢查询?,sql server 2008r2数据库文件导入到sql server 2008数据库中这几个方面来介绍。

嵌入式技术相关技术文章数据库:为什么SQL使用了索引,却还是慢查询?sql server 2008r2数据库文件导入到sql server 2008数据库中

嵌入式技术相关技术文章数据库:为什么SQL使用了索引,却还是慢查询?

经常有同学问我,我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。

另外插入一个题外话,个人认为团队要合理的使用ORM,可以参考 ORM的权衡和抉择。合理利用的是ORM在面向对象和写操作方面的优势,避免联合查询上可能产生的坑(当然如果你的Linq查询能力很强另当别论),因为ORM屏蔽了太多的DB底层的知识内容,对程序员不是件好事,对性能有极致追求,但是ORM理解不透彻的团队更加要谨慎。

案例剖析

言归正传,为了实验,我创建了如下表:

数据库:为什么SQL使用了索引,却还是慢查询?

该表有三个字段,其中用id是主键索引,a是普通索引。

首先SQL判断一个语句是不是慢查询语句,用的是语句的执行时间。他把语句执行时间跟long_query_time这个系统参数作比较,如果语句执行时间比它还大,就会把这个语句记录到慢查询日志里面,这个参数的默认值是10秒。当然在生产上,我们不会设置这么大,一般会设置1秒,对于一些比较敏感的业务,可能会设置一个比1秒还小的值。