为什么要创建索引
1、通过创建唯一索引,可以保证数据库表中每一行的唯一性
2、可以大大加快数据的检索速度,减少表的检索行数和检索时间,这也是创建索引的最主要索引
3、在有表连接的连接条件下,可以加速表与表之间的连接
4、在使用分租和排序子语句进行数据检索时,同样可以显著减少查询中分组和排序所消耗的时间。
5、通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
mysql的优化措施
1、建立合适高效的索引,要根据查询有针对性的创建,考虑在WHERE和ORDER BY命令上涉及的列建立索引,可根据EXPLAIN来查看索引是否命中还是全表扫描
2、选取最适用的数据类型和最小的数据长度,尽量少定义 text 类型,并且应尽量把字段设置为NOT NULL
3、选择合适的存储引擎,MyISAM适合SELECT密集型的表,而InnoDB适合INSERT和UPDATE密集型的表
4、要尽量避免使用 select *,而是查询需要的字段
5、尽量使用 Join 语句来替代子查询。因为子查询是嵌套查询,而嵌套查询会新创建一张临时表,而临时表的创建与销毁会占用一定的系统资源以及花费一定的时间
6、尽量避免在WHERE子句中使用 != 或 <> 操作符,否则将引擎放弃使用索引而进行全表扫描
7、避免使用%xxx式模糊查询
8、适当的使用分库、分表策略
站点访问流程
1、DNS解析:将域名解析成IP地址
2、TCP连接:TCP三次握手
3、发送HTTP请求
4、服务器处理请求并返回HTTP报文
5、浏览器解析渲染页面
6、断开连接:TCP四次挥手
7、浏览器根据返回内容渲染页面