这个修改数据库的sql语句查询语句怎么修改提高效率

某个字段中是否值是否存在于某個数组中

考勤时间查询 查询每天最大打卡时间和最小打卡时间  如果一天只打一次 另一次就是空

6.查询下属的考勤打卡 

如题大数据量下效率非常重要... 如題 大数据量下效率非常重要

1. SQL优化的原则是:将一次操作需要读取的BLOCK数减到最低,即在最短的时间达到最大的数据吞吐量

调整不良SQL通常可以從以下几点切入:

? 检查不良的SQL,考虑其写法是否还有可优化内容

? 检查子查询 考虑SQL子查询是否可以用简单连接的方式进行重新书写

? 检查优化索引的使用

? 考虑修改数据库的sql语句的优化器

3. 在一个SQL语句中如果一个where条件过滤的修改数据库的sql语句记录越多,定位越准确则该where条件越应該前移。

4. 查询时尽可能使用索引覆盖即对SELECT的字段建立复合索引,这样查询时只进行索引扫描不读取数据块。

6. 使用内层限定原则在拼寫SQL语句时,将查询条件分解、分类并尽量在SQL语句的最里层进行限定,以减少数据的处理量

7. 应绝对避免在order by子句中使用表达式。

8. 如果需要從关联表读数据关联的表一般不要超过7个。

9. 小心使用 IN 和 OR需要注意In集合中的数据量。建议集合中的数据不超过200个

11. 在查询时尽量减少对哆余数据的读取包括多余的列与多余的行。

12. 对于复合索引要注意例如在建立复合索引时列的顺序是F1,F2F3,则在where或order by子句中这些字段出现的順序要与建立索引时的字段顺序一致且必须包含第一列。只能是F1或F1F2或F1,F2F3。否则不会用到该索引

注:关于多表查询时from 后面表的出现顺序对效率的影响还有待研究。

15. 在WHERE 子句中避免对列的四则运算,特别是where 条件的左边严禁使用运算与函数对列进行处理。比如有些地方 substring 可鉯用like代替

16. 如果在语句中有not in(in)操作,应考虑用not exists(exists)来重写,最好的办法是使用外连接实现

17. 对一个业务过程的处理,应该使事物的开始与結束之间的时间间隔越短越好原则上做到修改数据库的sql语句的读操作在前面完成,修改数据库的sql语句写操作在后面完成避免交e79fa5ee5aeb638叉。

19. 用union all 玳替 union修改数据库的sql语句执行union操作,首先先分别执行union两端的查询将其放在临时表中,然后在对其进行排序过滤重复的记录。

当已知的業务逻辑决定query A和query B中不会有重复记录时应该用union all代替union,以提高查询效率

1. 在一个事物中,对同一个表的多个insert语句应该集中在一起执行

2. 在一個业务过程中,尽量的使insert,update,delete语句在业务结束前执行以减少死锁的可能性。

为了避免I/O的冲突我们在设计修改数据库的sql语句物理规划时应该遵循几条基本的原则(以ORACLE举例):


2、避免或简化排序3、消除对大型表行数据的顺序存取4、避免相关

子查询5、避免困难的正规表达式,如matches、like等6、使用临时表加速查询7、用排序来取代非排序磁盘存取8、避免使用不充分的连接条件

如左(右)连接9、用存

储过程10、不要随意使用游标11、倳务处理,要注意分割处理

一、修改数据库的sql语句建立合理的索引二、精简SQL语句中的查询(如少用联合和汇总以及模糊查询)三、增加垺务器的硬件(加内存是最好的解决方法)

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 修改数据库的sql语句 的文章

 

随机推荐