技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> MySQL --> Mysql的一些记录

Mysql的一些记录

浏览:2721次  出处信息
年纪大了,很多东西容易忘记,就当做流水记录下来吧。

    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范围来不断循环处理,这种处理有点出乎我的意料,写的很不错。

建议继续学习:

  1. 30分钟3300%性能提升――python+memcached网页优化小记    (阅读:11853)
  2. WEB系统需要关注的一些点    (阅读:10156)
  3. 基于SSD的数据库性能优化    (阅读:7177)
  4. jQuery性能优化指南    (阅读:7145)
  5. 一次简单C程序的性能优化    (阅读:5451)
  6. mysql sql 百万级数据库优化方案    (阅读:4846)
  7. 一次神奇的MySQL优化    (阅读:4687)
  8. PHP最佳实践    (阅读:4647)
  9. Linux 64位, MySQL, Swap & Memory 优化    (阅读:4299)
  10. PHP 性能优化技巧-google    (阅读:4188)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1