原文地址:https://www.jiagou1216.com/blog/db/479.html 选择最有效率的表名顺序 ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下, ...
分类:
数据库 时间:
2019-08-21 00:15:55
阅读次数:
177
来自: https://www.cnblogs.com/gomysql/p/3720123.html 用途: 备忘 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索引扫描, ...
分类:
其他好文 时间:
2019-08-15 23:13:00
阅读次数:
174
什么是间隙锁(gap lock)? 间隙锁是一个在索引记录之间的间隙上的锁。 间隙锁的作用? 保证某个间隙内的数据在锁定情况下不会发生任何变化。比如我mysql默认隔离级别下的可重复读(RR)。 当使用唯一索引来搜索唯一行的语句时,不需要间隙锁定。如下面语句的id列有唯一索引,此时只会对id值为10 ...
分类:
数据库 时间:
2019-08-15 19:43:30
阅读次数:
112
explain模拟优化器执行sql语句。 显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句 常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描 使用方法:在select语句前 ...
分类:
数据库 时间:
2019-08-09 23:47:53
阅读次数:
122
MySQL Explain详解 explain命令:可查看SQL语句的执行计划,查看SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。 具体操作是:select前添加explain来实现,它可以告诉我们你的语句性能如何。 平常查询:(MySQL逐条统计,当数据过大 ...
分类:
数据库 时间:
2019-08-06 21:22:59
阅读次数:
603
SQL语句优化 1)应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。2)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在n ...
分类:
数据库 时间:
2019-08-04 15:09:07
阅读次数:
124
为什么要使用Elasticsearch?? 因为在我们中的数据,会随着时间变的非常多,若采用以往的模糊查询,模糊查询前置通配符,如:"%aa%",会放弃索引,导致数据表查询将变成全表扫描,在百万级别的数据库中,效率非常低下,而我们使用ES做一个全文索引,我们就可以将经常查询的数据字段,比如说商品名, ...
分类:
其他好文 时间:
2019-08-03 01:02:20
阅读次数:
122
普通BS架构的系统,一般都采用测试工具(如LR)直接录制手工操作的方式进行测试。这种方式简单有效,对测试人员要求不高。但在一些情况下,这种基于录制的方法可能无法完成,比如页面上有特殊控件、系统是CS架构、或者通讯的协议无法捕获等。这时就需要更复杂的测试方法,如手动编写模拟客户端的JAVA代码,而把测 ...
分类:
其他好文 时间:
2019-07-31 15:09:36
阅读次数:
101
索引模块除了是数据库最重要的模块之一,也是面试中最经常被问到的,关于索引模块常见问题如下:为什么要使用索引什么样的信息能成为索引索引的数据结构密集索引和稀疏索引的区别为什么要使用索引:数据库中最小存储单位通常是块或者页,每个块里面都会包含多行数据。而我们在查询一些没有使用索引的数据时,通常都需要进行全表扫描,也就是说需要加载所有的块,然后逐个遍历这些块直到查找出我们需要查找的数据。可想而知这种查询
分类:
数据库 时间:
2019-07-28 22:51:55
阅读次数:
267
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断, ...
分类:
数据库 时间:
2019-07-23 10:02:48
阅读次数:
108