SQL基本教程及代码优化(一)
Memory所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失培训次要内容·1.表布局优化
·2.Select语句优化
·3.存储历程、触发器、函数代码优化
·4.视图优化
·5.调优工具的利用
1.表布局优化
·1.1.文件组的选择
·1.2.索引的利用
·1.3.束缚VS触发器
·1.4.栏位数据范例的选择
·1.5.冗余VS第三范式
·1.6.表的程度、垂直支解
·1.7.阶段性表的利用
1.1文件组的选择
·1.1.1.多磁盘带来的功能提拔(磁盘阵列)
·1.1.2.文件组提拔功能的办法:
–(1)利用多个文件组
–(2)一个文件组利用多个文件
·RAID(磁盘阵列)
·RAID0:无不对把持的带区组
–数据分离在分歧硬盘上,不必要盘算校验码,没无数据不对把持,总容量=SUM(各磁盘容量),读取一样文件的工夫被延长为1/2。
·RAID1:镜像布局
–RAID把持器必需可以同时对两个盘举行读操纵和对两个镜象盘举行写操纵。平安性长短常高,完成本钱最高,总容量=SUM(各磁盘容量)/2,数据块传送速度与独自的盘的读取速度不异。
·RAID0+1:RAID0与RAID1分离
·RAID5:散布式奇偶校验的自力磁盘布局
–读出效力很高,写进效力一样平常.奇偶校验码在分歧的磁盘上。
1.2索引的利用
·1.2.1.不宜创建索引的情况
–(1)常常拔出、修正、删除数据的表
–(2)数据量对照少的表
·1.2.2.合适创建索引的情况
–(1)常常呈现在Where、Groupby、Orderby子句中的列
·1.2.3.会萃索引的计划准绳
–(1)列的值是独一的或很少反复
–(2)常常利用between…and按按次查询的列
–(3)界说为identity的独一列
–(4)常常用于排序的列
·1.2.4.没法利用索引的SELECT语句
–(1)对索引列利用了函数或盘算
–(2)对索引列利用了Like‘%X’或Like‘%X%’
–(3)在组合索引的第1列不是利用最多的列
–(4)在Where子句中利用了In(子查询)
–(5)数据范例转换将招致不克不及使用索引
–(6)负向对照将招致不克不及使用索引对于insert和delete,event中包含了插入/删除的记录的所有字段的值(太爽了。。) 呵呵,这就是偶想说的 对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。 记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。 如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。 我个人认为就是孜孜不懈的学习 备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。 如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
页:
[1]