网站优化 和 数据库存储引擎区别

优化核心:

就是减少对数据库的连接与操作(因为mysql是数据库的瓶颈,造成高并发);

A: 架构成层 :分布式部署(mysql服务)

① 主从复制(通过读取主服务器(mysql)的二进制文件,重新在从服务器上执行一次,同步数据);

注释:主从服务器指的是数据库的主服务和从服务

②读写分离(把数据表的增删改和查询分离开来,通过连接不同服务器的数据库,实现读写分离,提高mysql数据库的并发负载能力)

③ 搭建服务器集群 注释:通过nginx负载均衡搭建服务器集群

④ 设置缓存(redis memcache mongoDb)

B:从底层来说

  1. 选取合适的数据库引擎(myisam 和 innodb(注意他们的区别));
  2. 选取合适的字段(原则:能用小的不用大的,选取小的空间,选取运行速度快的,能选取定长的不选取变长的);尽量将一些数据转化成整型进行存储,如ip和时间
  3. 建立适当的索引,提高查询效率(索引:类似查询目录,对数据表的一类或者多列进行排序的结构,该结构支持一定的算法,可以快速的查询数据,分为主键、唯一索引、普通索引、全文索引。);

注意:
①索引使用的场景

where 条件里面涉及到的字段、order条件里面涉及到的字段。字段的值足够多样化,尽量不要重复(比如性别就不能建立索引);
索引的使用原则:用explain查询计划
a. 左原则 : like查询的时候,左边尽量不能使用%;
b. or原则 :使用or的时候,两边的字段必须是索引字段,才能使用索引,否则失效;
c.复合索引的时候,必须使用复合索引的第一个索引字段才有效 key(name,password);
d.如果mysql估计全表扫描比使用索引查询效率高时,就不要使用索引;

②myisam和innodb的区别:

  1. 事务:myisam不支持事务,innodb支持事务
  2. myisam支持压缩机制
  3. 存储文件: myisam存储文件分为:结构文件,数据文件,索引文件;innodb存储文件:结构文件、数据/索引文件;
  4. 并发性: myisam并发性较差,因为myisam使用的是表锁机制,当对表操作的时候,会将整个表锁住,但是读写速度快;Innodb并发性好,因为采用的是行锁机制,当操作数据时,智慧锁住当前的某一条记录,但是读写速度相对慢;
  5. Myisam不会根据主键大小进行排序,Innodb会根据主键的大小进行排序

C: sql 语句层

  1. 开启mysql的查询缓存
    将上次查询的结构缓存下来,以便下次从新使用; 原则:字段不参与运算,数据库发生改改变(包括结构和数据的改变),查询语句里面含有变化的条件,查询语句大小写也会生成不停的缓存;
  2. 开启慢查询日志

D:设计层

如果数据足够大,可以考虑物理谁给你的分表和虚拟化分区;
分区是两者之中比较好的方法,通过range、list、hash、key分区,把一张表分成多个区域,提高查询效率,但实际上还是一张表;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值