建立适当的索引(参考《正确建立数据库索引的姿势》) 用UNION替换OR (适用于索引列) 用exist、not exist代替 in、not in 不要以字符格式声明数字(会使索引无效,产生全表扫描) 不要使用select * (在select后列出每一列) 不要JOIN和WHERE子句中进行计算 ...
分类:
数据库 时间:
2017-02-28 13:23:12
阅读次数:
173
1.你在设计数据库时,怎样解决锁? 锁:同一时间段,很多用户占用一个资源。 抢火车票,提交了订单但未支付,为了避免出现死锁,则可以设计为预-1,等待一段时间之后查看该订单,进行调整。 预扣决策。 例子:抢火车票,抢小米,一元秒杀。 2.有10000条数据,其中有1000条数据是错误的(比如pk了或数 ...
分类:
数据库 时间:
2017-02-13 15:11:03
阅读次数:
216
今日无事来,研究起了索引这东西,在未研究之前认为索引不会经常用到,但研究之后才发现,最简单的一个select 查询都用到了索引的概念。下面为大家讲一下,共勉之。 select * from emp_pay ; 你知道查询出来的主键为什么会按照升序排列吗?大家会说 因为创建了主键,我想说这句话不完全对 ...
分类:
其他好文 时间:
2017-02-08 18:11:32
阅读次数:
173
注:以下指标取自SQL Server自身提供的性能计数器。 [@more@] SQL Server 指标名称 指标描述 指标范围 指标单位 1.SQL Server中访问方法(Access Methods)对象包含的性能计数器 全表扫描/秒 (Full Scans/sec) 指每秒全表扫描的数量。全 ...
分类:
数据库 时间:
2017-01-21 13:58:32
阅读次数:
236
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: 最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库. 备注 ...
分类:
数据库 时间:
2017-01-19 20:03:31
阅读次数:
310
首先什么是全表扫描和索引扫描?全表扫描所有数据过一遍才能显示数据结果,索引扫描就是索引,只需要扫描一部分数据就可以得到结果。如果数据没建立索引。 无索引的情况下搜索数据的速度和占用内存就会比用索引的检索慢和高。下面是一个例子 1:无索引的情况 Product表,里面没有任何索引,如下图: 从上图中, ...
分类:
数据库 时间:
2017-01-17 21:24:58
阅读次数:
288
本文转自:http://m.blog.csdn.net/article/details?id=51924963 数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并 ...
分类:
数据库 时间:
2017-01-17 00:48:39
阅读次数:
232
元旦假期收到阿里吴老师来电,被告知已将MySQL查重SQL优化到极致:100万原始数据,其中50万重复,把去重后的50万数据写入目标表只需要9秒钟。这是一个惊人的数字,要知道仅是insert 50万条...
分类:
数据库 时间:
2017-01-12 23:23:30
阅读次数:
876
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引 ...
分类:
数据库 时间:
2017-01-12 02:42:38
阅读次数:
197
首先什么是全表扫描和索引扫描?全表扫描所有数据过一遍才能显示数据结果,索引扫描就是索引,只需要扫描一部分数据就可以得到结果。如果数据没建立索引。 无索引的情况下搜索数据的速度和占用内存就会比用索引的检索慢和高。下面是一个例子 1:无索引的情况 Product表,里面没有任何索引,如下图: 从上图中, ...
分类:
数据库 时间:
2017-01-03 08:05:58
阅读次数:
283