zoukankan      html  css  js  c++  java
  • mysql的常用优化知识

    索引类型:主键索引,唯一索引,联合索引,普通索引,全文索引

    建立索引: create index index_name on table(field_name);

    删除索引: drop index index_name on table;

    查看索引: show index from table;

    建立索引:

    alter table 数据库add index 索引名称(数据库字段名称)
    PRIMARY KEY(主键索引)
    ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
    UNIQUE(唯一索引)
    ALTER TABLE `table_name` ADD UNIQUE (`column`)
    INDEX(普通索引)
    mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

    1.  一个列上建立索引后,如果是以like查询,百分号在左边则利用不上索引。好比  select a from t where bb like '%hehe';这种情况,bb有索引也用不上。。

    2.  如果利用or关键字的话,左右两边有一个字段没索引就利用不上。好比  select a from t where b=1 or c=2;这种情况,如果b或c有一个没建立索引,就用不上索引。

    3.  group by 的时候默认会有个排序,排序很费性能,如果不必要的话,可以加上一句  order by null。这样好些。顺便order by 经常排序的字段加个索引也好多。

     (查看sql是否用上了索引,可以通过explain sql进行查看。)

    4.  一个字段的数据类型,能满足业务要求的情况下,越小越好。。比如ENUM的使用比varchar好多。

    5.  在财务系统或者金钱上,小数保存使用decimal,最好都这么用。。

    6.  如果业务上自己知道要查出一条就ok的话,最好sql上加一句limit 1

    MyISAM存储引擎下,索引 是 .MYI文件。。数据存在.MYD文件。。.frm是表结构文件(innodb也有这个)。

    MyISAM 和 Innodb的区别  详细可以参考:http://www.oschina.net/question/17_4248

    MyISAM 删除delete的时候数据库文件大小不会啥变化,需要执行optimize table才会清掉碎片。。表级锁。

    Innodb 中存在表的数据会在外头有个文件ibdata1 里,不在.MYD文件里。不像是MyISAM。支持事务。支持外键。一般行级锁。

    这个讲数据库文件不错,myisam和innodb的数据文件存放

    http://fuwenchao.blog.51cto.com/6008712/1344854

    顺便自己测试的时候,快速造数据的一个sql,利用自己表的数据翻倍增加:

    #表名:table;字段id(auto_increment primary key) title
    insert table (id, title) (select null,title from table);#注意没有values的关键词和null的用法

    mysql的主从复制和读写分离:

    这两篇文章写得不错~

    http://heylinux.com/archives/1004.html

    http://www.cnblogs.com/itech/archive/2011/09/22/2185365.html

    读写分离mysql配置,需要主服务器(处理更新写请求),从服务器(处理读请求,并与主服务器进行数据同步),和代理服务器(处理mysql请求,根据sql分辨出哪些是读,哪些是写,然后分派给不同的mysql服务器)

    mysql proxy代理服务器的配置脚本是个lua脚本。

     

    -

  • 相关阅读:
    Jmter组件执行顺序
    Win7X64位Seleniume+Eclipse+Pydev环境搭建
    软件测试自学指南---从入门到精通(转载)
    Python开发【第四篇】:Python基础之函数
    Python开发【第三篇】:Python基本数据类型
    Python开发【第二篇】:初识Python
    Python开发【第一篇】:目录
    个人作业3——个人总结(Alpha阶段)
    结对编程2——单元测试(201421123040,60,61)
    个人作业2——英语学习APP案例分析
  • 原文地址:https://www.cnblogs.com/firstForEver/p/4943368.html
Copyright © 2011-2022 走看看