水平分区 , 保持表结构不变 , 通过某种策略将数据分散到不同的表或库中 , 例如根据年、月 , 一年一张表 , 一月一张表 , 水平分区可以支持非常大的数据量 。水平分区的分表只能解决单张表的存储数据量过大问题 , 但由于数据还是在一台机器上 , 对于提供并发能力并没有什么意义 , 所以水平拆分最好分库 。分库分表后 , 主键id如何处理分库分表后 , 每个表的id都是从1开始累加 , 这样是不对的 , 我们需要一个全局唯一id来支持 。
- UUID , 太长了 , 并且无序 , 查询效率低 , 比较用于生成文件名等 。
- 数据自增Id , 每台数据库分别设置不同的步长 , 生成不重复的ID , 这种方式生成ID有序 , 但是需要独立部署数据库实例 , 成本高 , 还有性能瓶颈 。
- 利用redis生成id , 性能好 , 灵活方便 , 不依赖于数据库 , 但引入了新的组件造成系统更复杂 , 可用性降低 , 编码更加复杂 , 增加了系统成本 。
- Twitter的snow?ake雪花算法 。
- 美团的Leaf分布式ID生成系统 , Leaf 是美团开源的分布式ID生成器 , 能保证全局唯一性、趋势递增、单调递增、信息安全 , 但也依赖关系数据库 , Zookeeper等中间件 。
MySQL中有哪几种锁?
- 表级锁:开销小 , 加锁快;不会出现死锁;锁定粒度大 , 发生锁冲突的概率最高 , 并发度最低 。
- 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间 , 并发度一般
- 行级锁:开销大 , 加锁慢;会出现死锁;锁定粒度最小 , 发生锁冲突的概率最低 , 并发度也最高 。
NOW() 和 CURRENT_DATE() 有什么区别?
- NOW() 命令用于显示当前年份 , 月份 , 日期 , 小时 , 分钟和秒 。
- CURRENT_DATE() 仅显示当前年份 , 月份和日期 。
锁的优化策略
- 读写分离
- 分段加锁
- 减少锁持有的时间
- 多个线程尽量以相同的顺序去获取资源不能将锁的粒度过于细化 , 不然可能会出现线程的加锁和释放次数过多 , 反而效率不如一次加一把大锁 。
索引的底层实现原理和优化
- 底层是B+树 , 经过优化的 B+树 。
- 主要是在所有的叶子结点中增加了指向下一个叶子节点的指针 , 因此 InnoDB 建议为大部分表使用默认自增的主键作为主索引 。
索引的目的是什么?
- 快速访问数据表中的特定信息 , 提高检索速度 。
- 加速表和表之间的连接 , 使用分组和排序子句进行数据检索时 , 可以显著减少查询中分组和排序的时间 。
- 创建唯一性索引 , 保证数据库表中每一行数据的唯一性 。
索引对数据库系统的负面影响是什么?
- 创建索引和维护索引需要耗费时间 , 这个时间随着数据量的增加而增加;索引需要占用物理空间 , 不光是表需要占用数据空间 , 每个索引也需要占用物理空间;当对表进行增、删、改、的时候索引也要动态维护 , 这样就降低了数据的维护速度 。
为数据表建立索引的原则有哪些?
- 在最频繁使用的、用以缩小查询范围的字段上建立索引 。
- 在频繁使用的、需要排序的字段上建立索引 。
什么情况下不宜建立索引?
- 对于查询中很少涉及的列或者重复值比较多的列 , 不宜建立索引 。
- 对于一些特殊的数据类型 , 不宜建立索引 , 比如文本字段(text)等 。
什么情况索引会失效
- 以“%”开头的 LIKE 语句 , 模糊匹配
- OR 语句前后没有同时使用索引
- 数据类型出现隐式转化(如 varchar 不加单引号的话可能会自动转换为 int 型)
实践中如何优化 MySQL
- SQL 语句及索引的优化
- 数据库表结构的优化
- 系统配置的优化
- 硬件的优化
优化数据库的方法
- 选取最适用的字段属性 , 尽可能减少定义字段宽度 , 尽量把字段设置 NOT NULL , 例如’省份’、’性别’最好使用 ENUM 枚举
推荐阅读
-
奈奈姐姐|年轻人为什么越来越不讨好领导了:舔领导有啥用?
-
「央视新闻」两名国家女子冰球队员确诊新冠肺炎 均为轻症
-
时尚美丽说|蔡少芬与“三美”相约迪士尼,李亚男挺孕肚聚餐,洪欣美到认不出
-
陆炎|《请君》番外篇重逢:这两人嘀咕什么,先绑回去再说
-
丽江永胜警方|最新!被抱走的3岁男孩,在“一山洞内”找到了,警方通报嫌疑人……
-
梦奇|梦奇重做技能曝光,新版铭文明日上线,限定3选1,710留给夏洛特
-
合同|杜海涛代言的网利宝暴雷 其姐称投资者活该 杜海涛回应:短期合作 未签合同
-
-
凌晨一度贞桦|俄罗斯该帮谁,拉拢普京印度主动送上天价武器订单
-
车祸违驾|<p>报废确实是很麻烦的事,丢着不管更省心?</p>
-
生活万象@不怕冷不怕热,放在阳台就能活,懒人适合,最适合新手养的4种花
-
之言老兵|美女穿牛仔铅笔裤,很好地塑造腿部线条,尽显女性独特气质
-
-
阿兰|国足的巨大损失:32岁归化国脚还没有中超球队愿意接手实属可惜
-
「郜林」郜林1场没踢带队冲刺,10年2次壮举!恒大深足天赐福将,太牛了
-
##运载火箭残骸:有的砸向地球,有的在大气中焚烧,有的成太空垃圾
-
放眼整个世界|用钥匙开锁时警觉异样,抱着孩子直奔楼下,保姆带娃散步后回家
-
银饰佩戴变黑和身体有关系吗 戴银饰发黑是身体有问题吗
-
国是直通车|农产品价格要涨?1998年大洪水,当年实现历史最高粮食产量,南方暴雨
-
运势:实不相瞒:7月起,出门遇喜事,财运如火,鱼跃龙门的属相