• 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脚本。

     

    -

  • 相关阅读:
    友盟冲突解决com.umeng.weixin.handler.UmengWXHandler cannot be cast to com.umeng.socialize.handler.UMWXHandler
    插入mysql失败,因为java数据类型是个实体类,加上.id就好了
    app升级注意事项version
    关于ehcache缓存中eternal及timeToLiveSeconds和timeToIdleSeconds的说明
    WinFom解决最小化最大化后重绘窗口造成闪烁的问题
    Redis 发布订阅
    Redis 发布订阅
    ASPxGridView
    ASPxGridView
    C#-WebRequest 超时不起作用
  • 原文地址:https://www.cnblogs.com/firstForEver/p/4943368.html
Copyright © 2020-2023  润新知