数据库
文章平均质量分 92
noodles_mee
任何不能拿到关键结果的努力都是半途而废,
展开
-
什么时候考虑将mysql数据迁移到ES?
在模糊的影响中,ES查询效率高,尤其是最近组内在推慢sql治理,看到有些单张表已经存在索引数量近10个,表中字段确实比较多,一种治理方式是宽表拆分多个表,降低每个表查询的字段,每个表需要创建和维护索引数量也会降低。也在考虑是不是可以将数据同步到ES,部分查询场景走ES,宽表拆分导致数据比较分散,更新和查询起来更麻烦,使用ES数据完整性可以保证,相同数据使用不同的存储介质进行存储,更新和维护相比来说更简单。原创 2024-07-06 23:49:42 · 804 阅读 · 5 评论 -
数据库批量插入和存在的问题
mysql批量操作和注意事项原创 2022-07-10 22:40:53 · 1088 阅读 · 0 评论 -
为什么要创建联合索引
多个单列索引联合使用,同样可以达到联合索引的功能,并且联合索引还会有索引失效的情况,禁不住一探为什么还要创建联合索引?总结下来有4个优点,分别时降低维护索引的开销、使用索引下推减少回表查询记录数、使用索引覆盖减少回表以及减少避免死锁频率。联合索引数据结构联合索引创建索引,非叶子节点只会存储联合索引的第一个关键字,叶子节点存储联合索引的所有字段值+集索引索引Id,查询的时候,先比较第一个关键字,第一个关键字相同 ,比较第二个关键字,第一个关键字,则按照后面的关键字排序,后面关键只时局部有序。联合索引进原创 2022-03-06 22:49:36 · 3727 阅读 · 2 评论 -
为什么选择B+树作为Innodb索引数据结构
目录数组hash表二叉搜索树平衡二叉树和红黑树B-Tree/B+Tree数据物理存储方式可分为顺序存储和链式存储,数据逻辑存储方式可以分为线性和非线程。为什么要从众多组合中选择链接结构的B+树作为innodb索引,一个好的索引不仅查询效率高,同时在数据更新的过程中需要对索引进行维护,还需要保证索引维护成本不能太高,B+Tree很好的满足了这两点。数组有序数组使用二分查找时间复杂度未lgN,对查找到的元素,直接进行更新时和删除(设置为null避免后面移动),对查找、更新和删除来说,数组作为索引性能还不错原创 2022-03-06 21:37:42 · 818 阅读 · 0 评论 -
Mysql优化
目录表设计优化int(10),char(10),varchar(10)区别表中字段为什么尽量设置为NOT NULL数据量过多的表如何进行处理索引优化适合创建索引的字段创建索引时注意事项sql查询优化MySQL中exits和in区别慢查询日志查询建议表设计优化int(10),char(10),varchar(10)区别int(10),固定长度,不足高位用0补充。char(5)固定长度,不足的使用空格补充。varchar(10),最大长度为10,实际占用空间大小以实际存储的字符数为准。char定长,在存原创 2022-01-31 16:19:15 · 1119 阅读 · 0 评论