Mysql的一些记录
1.Mysql中,对于视图view,稍微复杂一点点的语法,比如视图定义中存在union,mysql的select查询就不走索引,走全表扫描。
2.Innodb存储引擎:索引存储为键数据+PRIMARY KEY,比如id是主键,建status索引的话,索引数据存储为status+id,这样的话select查询时如果排序的话,尽量根据id来排序。
3.Mysql sql_mode分为严格模式和非严格模式,非严格模式(即不启用STRICT_TRANS_TABLES或STRICT_ALL_TABLES模式)下,对于非法或丢失的值,MySQL将插入调整后的值并给出警告,注意,即使数据错误,mysql也会写到数据库中并给出警告。而对于严格模式,简单的说就是当在列中插入不正确的值时“给出错误而不是警告”,直接报错。
4.Varchar值只保存需要的字符数,另加一个字节来记录长度(如果列声明的长度超过255,则使用两个字节),当值保存和查询时如果尾部存在空格仍保留,而char在查询时会从CHAR列删除了尾部的空格。
5.木匠提到的问题,也是我非常关注的,在对商品进行编辑时,因为很难断定哪列发生了更新,只好对一行所有记录进行update,50多个字段啊,我还没有看到好的办法,还需要继续研究。
http://zhu1.blogspot.com/2009/03/skip-unchanged-columns-when-update.html
6.Mysql innodb备份开始并没有置一个显著的标注,做恢复(recover)时又没有办法判断要从哪儿开始恢复,非常麻烦。
其实可以通过参数flush-log,让其在备份开始前先刷新bin log,产生一个新的log,然后开始备份。
single-transaction:使用一致性地读,不会锁表,并且保证mysqldump所看见的数据不会更改。
mysqldump --single-transaction --flush-logs --master-data=2 --all-databases > backup_sunday_1_PM.sql。
注意:这种备份只适用于innodb事务型存储引擎
7.对于Sns动态,帮派的设计有了新的进展,对聚合的数据处理有一些突破,当然重要的还是业务方做了妥协,什么叫聚合?
8.这两天在检查开发写的数据迁移模式,根据id范围来不断循环处理,这种处理有点出乎我的意料,写的很不错。
建议继续学习:
- WEB系统需要关注的一些点 (阅读:14109)
- 30分钟3300%性能提升――python+memcached网页优化小记 (阅读:12129)
- 基于SSD的数据库性能优化 (阅读:7412)
- jQuery性能优化指南 (阅读:7325)
- 一次简单C程序的性能优化 (阅读:5598)
- mysql sql 百万级数据库优化方案 (阅读:5058)
- PHP最佳实践 (阅读:4955)
- 一次神奇的MySQL优化 (阅读:4895)
- Linux 64位, MySQL, Swap & Memory 优化 (阅读:4482)
- PHP 性能优化技巧-google (阅读:4416)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Incessant 来源: Incessant
- 标签: 优化
- 发布时间:2009-10-11 22:42:06
- [56] Oracle MTS模式下 进程地址与会话信
- [56] IOS安全–浅谈关于IOS加固的几种方法
- [55] 如何拿下简短的域名
- [54] 图书馆的世界纪录
- [53] android 开发入门
- [53] Go Reflect 性能
- [50] 读书笔记-壹百度:百度十年千倍的29条法则
- [49] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [33] 视觉调整-设计师 vs. 逻辑