博主信息
Sky
博文
291
粉丝
0
评论
0
访问量
7268
积分:0
P豆:617

怎么样优化数据库语句?

2021年10月20日 20:47:01阅读数:21博客 / Sky

1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将 导致引擎放弃使用索引而进行全表扫描

3、应尽量避免在 where 子句中使用!=或<>操作符,否则引擎将 放弃使用索引而进行全表扫描。

4、应尽量避免在 where 子句中使用 or 来连接条件,否则将导致 引擎放弃使用索引而进行全表扫描

5、in 和 not in 也要慎用,否则二手交易平台会导致全表扫描

6、索引并不是越多越好,索引固然可 以提高相应的 select 的效 率,但同时也降低了 insert 及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视 具体情况而定。一个表的索引数最好不要超过6个,若太多则应考虑 一些不常使用到的列上建的索引是否有必要

7、查询结果不要用*来查询所有字段,要明确指明结果字段

8、根据查询条件,建立索引,如果查询条件不止一个时,使用组合 索引

9、在查询条件表达式的左侧尽量不要使用函数,否则索引失效

10、如果有 like 话,尽量避免%xxx%两侧都有%的条件,单侧% 可以使用索引,多侧不可以

11、建立索引时字段不能有 null 值

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 当我们提交一条时,到达服务那边,服务需要解析这条sql,比如说法检查,查询条件先后,然后才执行。对于预处理,简单来说就是把客户端与服务原本一次交互的分成两次。
    mysql explain的作用是模拟Mysql器是如何执行SQL查询的,从而知道Mysql是如何处理用户的SQL,提高检索效率,降低的IO成本。
    oracle的存储过程:一组为了完成特定功能的SQL集,经编译后存储在中。
    查询的写法:【SELECT select_list [FROM table_source] [WHERE search_condition] [GROUP BY group_by_expression
    php的方法:1、选取最适用的字段属性;2、使用连接JOIN来代替子查询“Sub-Queries”;3、使用联合“UNION”来代替手动创建的临时表;4、使用外键;5、使用索引;6、使用的查询
    sql是高度非过程和面向集合的操作言。
    死锁产生的原因及解决方案:1、程序的BUG产生,需要调整的程序的逻辑;2、页面的按钮没有立即生效,需要使用乐观锁、悲观锁进行控制;3、执行多个不满足条件的update;需要对进行分析,建立相应的索引进行
    在mysql中,存储过程是一组为了完成特定功能的SQL集合。
    oracle中多条件查询的写法:首先打开oracle界面和需要查询的表;然后点击【+】,并在编辑器输入查询代码;最后点击【运行】查看结果即可。
    叫ORM,全称【Object-Relational Mapping(对象关系映射)】,它的作用是在关系型和业务实体对象之间作一个映射,这,我们在操作具体的业务对象时,就不需要再去和复杂的SQL