mysql优化技巧
利用主键索引来加速分页查询
select * from t_test where id>=500000 limit 100; select * from t_test where id>=500000 and id<500000+100;
物理删除
会造成主键不连续,导致分页查询慢
逻辑删除,负责修改数据,逻辑删除解决了物理删除问题,造成了数据表大小,通过历史表记录逻辑删除表,使用tokudb保存历史记录。
sql复制表结构
CREATE TABLE bridge_history like bridge;
写多读少,低价值数据采用NOSQL数据库,数据写入速度快。写多读少,高价值数据采用tokudb引擎,写入速度是innodb9-20倍。
写多读多,采用NOSQL数据库。数据库集群的读写速度,低于单节点数据实例。能支持大规模高并发,存放更多的数据。
锁机制INNODB是行级锁,删除数据,就会锁住记录。行级锁被分为共享锁S和排他锁X。都不允许其他事务写操作,可以读数据。排他锁不允许再加其他锁。只有在串行化事务隔离级别才会采用共享锁,
添加共享锁后不允许修改和删除数据,只能加锁读数据。排它锁,添加和修改,删除记录都是排它锁。减少并发冲突,将复制数据改成多条简单sql语句。
面试数据库初级知识
1、物理删除还是逻辑删除。
2、UUID为什么不适合做主键,不连续效率低无法做集群迁移。
3、订单号和流水号区别,唯一性和记录更多信息。
4、如何存储图片服务器,NGINX和云存储已经MONGODB的gridfs搭建图床服务器。
5、线上维护表结构,一做好备份二线上修改工具。