![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql数据库
我是纯豆腐
努力学习,克服自己的坏毛病,向着大牛看齐
展开
-
mysql之高性能索引
mysql之高性能索引当db的量达到一定数量级之后,每次进行全表扫描效率就会很低,因此一个常见的方案是建立一些必要的索引作为优化手段,那么问题就来了:那么什么是索引呢? 索引的实现原理是怎样的? 我们通常说的聚集索引,非聚集索引的区别是什么? 如何创建和使用索引呢?I. 索引介绍MySQL官方对索引的定义为:索引是帮助MySQL高效获取数据的数据结构。简而言之,索引是数据结构1. 几种树的结构a. B+树单来说就是一种为磁盘或者其他存储设备而设计的一种平衡二叉树,在B+tre原创 2020-12-29 16:58:19 · 159 阅读 · 0 评论 -
MySql创建索引的原则
MySql索引的使用一直是工作中的重点,一个线上项目如果不能合理使用索引,那带来的危害可能是毁灭性的(数据库锁死、当机等)。所以这一块也是面试中的重点,那么,MySql创建索引的原则有哪些呢?一般来说,在mysql中使用索引的原则有以下几点:1、 对于查询频率高的字段创建索引;索引的目的就是提升查询速度,这一点毋庸置疑。所以对于查询频率高的字段要创建索引,如:用户表的手机号。2、 对排序、分组、联合查询频率高的字段创建索引;3、 索引的数目不宜太多每创建一个索引都会占用相应的物.原创 2020-08-28 11:15:24 · 529 阅读 · 0 评论 -
MySQL数据库联合索引的命中规则
1)MySQL联合索引遵循最左前缀匹配规则,即从联合索引的最左列开始向右匹配,直到遇到匹配终止条件。例如联合索引(col1, col2, col3), where条件为col1=`a` AND col2=`b`可命中该联合索引的(col1,col2)前缀部分, where条件为col2=`b` AND col3=`c`不符合最左前缀匹配,不能命中该联合索引。2)匹配终止条件为范围操作符(如>, <, between, like等)或函数等不能应用索引的情况。例如联合索引(col1, co..原创 2020-08-21 16:28:50 · 4943 阅读 · 1 评论 -
为什么mysql不建议执行超过3表以上的多表关联查询?
面试官:为什么mysql不建议执行超过3表以上的多表关联查询?weixin_343727282019-06-13 21:26:001240收藏2版权概述前段时间在跟其他公司DBA交流时谈到了mysql跟PG之间在多表关联查询上的一些区别,相比之下mysql只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort-merge join)与散列连接(hash join),而PG是都支持的,而且mysql是往简单化方向去设计的,如果多个表关联查询(...转载 2020-07-09 16:55:14 · 4258 阅读 · 3 评论 -
MySQL索引的介绍和使用
MySQL索引1.介绍为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。什么是索引? 索引在MySQL中也叫做“键”或者"key"(primary key,unique key,还...转载 2020-01-02 13:58:08 · 177 阅读 · 0 评论 -
PHP解决抢购、秒杀、抢楼、抽奖等阻塞式高并发库存防控超量的思路方法
如今在电商行业里,秒杀抢购活动已经是商家常用促销手段。但是库存数量有限,而同时下单人数超过了库存量,就会导致商品超卖甚至库存变负数的问题。又比如:抢购火车票、论坛抢楼、抽奖乃至爆红微博评论等也会引发阻塞式高并发问题。如果不做任何措施可能在高瞬间造成服务器瘫痪,如何解决这个问题呢?这里提出个人认为比较可行的几个思路方法:方案一:使用消息队列来实现可以基于例如MemcacheQ等这样的消息队列...转载 2019-10-07 18:01:08 · 251 阅读 · 0 评论 -
数据库SQL优化大总结之 百万级数据库优化方案
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 一、百万级数据库优化方案1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 ord转载 2017-10-26 17:26:04 · 323 阅读 · 0 评论 -
浅谈数据库用户表结构设计,第三方登录
说起用户表,大概是每个应用/网站立项动工(码农们)考虑的第一件事情。用户表结构的设计,算是整个后台架构的基石。如果基石不稳,待到后面需求跟进了发现不能应付,回过头来反复修改用户表,要大大小小作改动的地方也不少。与其如此,不妨设计用户表之初就考虑可拓展性,争取不需要太多额外代价的情况下一步到位。先前设计idusernamepassword用户名加上密码,解决简单需求,留个转载 2017-10-12 17:07:19 · 357 阅读 · 0 评论 -
mySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
相关知识:redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。redis 提供 6种数据淘汰策略:voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰volatile-random原创 2017-10-09 17:40:02 · 10227 阅读 · 0 评论