数据库优化的总结..docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库优化的总结.

2012、4、23 数据库优化方案: 1·硬件升级; 2·数据库的调整; 3·sql语句的设计; 4·正确的使用索引; 索引的优化: 1·建立索引,要检测其是否被使用,对于未被使用到的索引,要分析其原因; 2·索引是实际存在的、被存储在硬盘中的数据结构,建立索引前,要考虑磁盘空间; Ps:检测索引是否真的起作用的方法是用explain 对sql语句进行解析; Sql语句的优化: 1·准确定位查询结果; ps select `s`.`sno` from `s`; 写清要查询的键可以节省数据库引擎解析sql语句时间; 2·满足条件情况下,最小化查询范围; Ps: 将where 的条件尽量写的详细可以方便数据库定位到要查询的信息; 3·尽量避免使用 in ,not in,或者having,代之以exists 或者not exists; 其他优化: 1·减少对大型表的排序,使用索引; 2·创建临时表; 3·减少用户的权限,最小化权限不仅仅可以增加安全也可以减少数据库检测用户权限的时间; 小技巧: 1·使用 set nocount on 选项,关闭过程中对sql语句影响行数的统计; 2·union 联合两个表并派出重复,但若两个表本身没有重复,则造成浪费,此时应该使用union all; 3·select * 这需要数据库服务器解析表结构,再罗列各种字段名; 4·select distninct ; distinct 是先获取结果集然后去重,对于没有重复记录的资源将造成资源浪费; 5·少用游标; 2012、4、24 Mysql数据库数据表引擎的选择: 1·Mysql数据库版本的引擎 --ARCHIVE;--BLACKHOLE;--CSV;--InnoDB; --MEMORY;--MRG_MYISAM--Myisam;--PERFORMANE_SCHEMA;``````` 互联网传送门: 1`数据表引擎的介绍 /blog/view-277.html 2`另外一个,关于事务处理和引擎的选择 /li8xiao8yu/blog/item/a3bd048206edffa36d811951.html 常用的引擎是 : Myisam 和 Innodb Myisam: 基于ISAM改进而来,(isam到mysql5.1既不再被支持);是现在mysql默认的数据表引擎;他的设计之初就被考虑数据表的查询操作比插入操作多的多,他强调速度和性能(/*这个我喜欢,:-D*/),因此他的执行速度比Innodb引擎要快的多,但是缺点是不支持事务和外键(关于事务和外键在下文讲解);适合牵扯大量的读操作数据表。 Innodb: 和BDB一样是支持事务的引擎,他的执行速度比Myisam慢很多(计算机的慢还是比我们自己的思考速度要快很多的),但是支持事务和外键的特性让他也备受亲睐,有时事务是保证数据安全所必须的,外键则是保证数据库完整性所必须的;适合牵扯到大量写操作的数据表。 事务: 事务是用户定义的一个数据库操作序列,这些操作要么全做要么全部做;这是课本给我们的解释; 关于事务,可以想想下,刚开始使用数据库的时候,习惯上sql语句的输入都是一条一条输入的,上一条完成了,输入下一条sql;但是这个习惯有可能出现问题,如果有操作时不能出现一个完成另一个没完成的情况,就是一系列的操作不能中断,比如银行的转账,一个用户的钱减少了,另一个用户的钱就应该增加,要不然,后果自己想想吧;所以这个时候原来的操作方式就有问题了;这个时候事务出现了; 事务可以认为是一段打包的操作,在你决定事务执行之前,事务在表中不会被察觉(比如说一段没有确定执行的插入事务,插入的数据并不会被检索到);mysql在4.1之后开始支持事务; 关于事务的特性: 这个,,传送门吧: /content/08/0426/18/61497_1217187.shtml 外键: 关于外键,书本上已经介绍的不少了,外键的主要作用是保证数据库的完整性,一个数据库的完整性是一个好的数据库不可或缺的特性。更多的内容看课本吧。 2012、4、25 查询的优化: 1·关于select Select的语法: Select select_list From table_list Where search_conditions Group by group_by_list Having search_conditions Order by order_list 在一次查询中,where子句首先第一次筛选,group by根据group_by_list指定的列对筛选结果进行分组,having子句则是从分组中再过滤出符合指定条件的记录。 可以说:1·where子句用来筛选from子句中指定的操作所

文档评论(0)

stzs + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档