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

建立索引: 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脚本。

-

mysql的常用优化知识的更多相关文章

  1. MySql 的常用优化

    1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...

  2. Mysql必须知道的知识

    最近在准备面试,所以也整理了一些Mysql数据库常用的知识,供大家参考. 1.MySQL的复制原理以及流程 (1).复制基本原理流程 1. 主:binlog线程--记录下所有改变了数据库数据的语句,放 ...

  3. 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结

    本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言   MySQL作为开源技术的代表作之一,是 ...

  4. Mysql原理与优化

    原文:https://mp.weixin.qq.com/s__biz=MzI4NTA1MDEwNg==&mid=2650763421&idx=1&sn=2515421f09c1 ...

  5. 自制小工具大大加速MySQL SQL语句优化(附源码)

    引言 优化SQL,是DBA常见的工作之一.如何高效.快速地优化一条语句,是每个DBA经常要面对的一个问题.在日常的优化工作中,我发现有很多操作是在优化过程中必不可少的步骤.然而这些步骤重复性的执行,又 ...

  6. mysql库表优化实例

    一.SQL优化 1.优化SQL一般步骤 1.1 查看SQL执行频率 SHOW STATUS LIKE 'Com_%'; Com_select:执行SELECT操作的次数,一次查询累加1.其他类似 以下 ...

  7. MySQL的索引优化,查询优化

    MySQL逻辑架构 如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器.下图展示了MySQL的逻辑架构图. MySQL逻辑架构,来自:高性能MySQL My ...

  8. MySQL数据库性能优化:表、索引、SQL等

    一.MySQL 数据库性能优化之SQL优化 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地 ...

  9. MySQL“被动”性能优化汇总!

    年少不知优化苦,遇坑方知优化难. --村口王大爷 本文内容导图如下: 我之前有很多文章都在讲性能优化的问题,比如下面这些: <switch 的性能提升了 3 倍,我只用了这一招!> < ...

随机推荐

  1. 【代码笔记】iOS-只让textField使用键盘通知

    代码: #import "ViewController.h" @interface ViewController () @end @implementation ViewContr ...

  2. JS 实现四舍五入保留两位小数并且添加千位分隔符

    var a = "-123456789.078";a = (Math.round(a * 100) / 100).toFixed(2).toString().replace(/(\ ...

  3. CSS3 鼠标划上图片放大

    td img{transition: all 1s}/*鼠标划上,图片1s全部显示完成*/ td img:hover{ transform: scale(5) translateX(50%) tran ...

  4. 手把手在MyEclipse中搭建Hibernate开发环境

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53414303冷血之心的博客) 在MyEclipse中如何搭建Hib ...

  5. Windows上PostGIS(压缩版)安装

    PostGIS安装 1.软件下载 postgresql-9.6.1-1-windows-x64-binaries.zip https://www.postgresql.org/download/win ...

  6. Expo大作战(十七)--expo结合哨兵(sentry)进行错误异常记录

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  7. JDK7下VisualVm插件无法链接到插件中心

      VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃 ...

  8. selenium 校验文件下载成功

    转自: http://www.seleniumeasy.com/selenium-tutorials/verify-file-after-downloading-using-webdriver-jav ...

  9. Linux系统之TroubleShooting(启动故障排除)

    尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题.那么这篇博文就总结一下一些常见的故障排除方法,但是不可能 ...

  10. python爬虫_入门_翻页

    写出来的爬虫,肯定不能只在一个页面爬,只要要爬几个页面,甚至一个网站,这时候就需要用到翻页了 其实翻页很简单,还是这个页面http://bbs.fengniao.com/forum/10384633. ...