![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 86
危楼高百尺,手可摘星辰。
不敢高声语,恐惊天上人。
Hey 锡瑞
这个作者很懒,什么都没留下…
展开
-
深入理解MySQL:性能优化1
业务层面限制跨度比较大的跳页类似于分段。我们给每次只能翻100页、超过一百页的需要重新加载后面的100页。这样就解决了每次加载数量数据大 速度慢的问题了;原创 2019-10-07 17:21:29 · 672 阅读 · 1 评论 -
数据库优化支持高可用
一、Redis字符串命令1.1、SET(1)使用说明时间复杂度O(1);如果key已经持有其他值,SET就覆写旧值, 无视类型;当SET命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除;对不存在的键进行设置:redis> SET key "value"OKredis> GET key"value"对已存在的键进行设置:redis> SET key "new-value"OKredis> G...原创 2020-10-12 15:36:14 · 539 阅读 · 0 评论 -
MySQL:存储函数
一、概述1.1、什么是存储函数储函数和存储过程一样,都是在数据库中定义一些 SQL 语句的集合。存储函数可以通过 return 语句返回函数值,主要用于计算并返回一个值。而存储过程没有直接返回值,主要用于执行操作二、存储函数注意:存储函数和存储过程的查看、修改、删除等操作几乎相同2.1、存储函数创建CREATE FUNCTION(1)语法格式CREATE FUNCTION sp_name ([func_parameter[...]])RETURNS type[c..原创 2020-09-08 19:18:26 · 1159 阅读 · 0 评论 -
MySQL:存储过程
一、概述1.1、什么是存储过程存储过程是一组为了完成特定功能的 SQL 语句集合。使用存储过程的目的是将常用或复杂的工作预先用 SQL 语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程。当以后需要数据库提供与已定义好的存储过程的功能相同的服务时,只需调用“CALL存储过程名字”即可自动完成1.2、使用存储过程原因(1)存储过程只在创造时进行编译, 以后每次执行存错过程都不需要在重新编译, 而一般SQL语句每执行一次就编译一次, 所以使用存储过程可原创 2020-09-08 15:17:49 · 423 阅读 · 2 评论 -
MySQL优化——会导致全表扫描的情况以及解决方案
(1)like模糊查询对于like ‘%...%’(全模糊)、左模糊like‘%...’。这样的条件,无法使用索引解决办法:尽量不用模糊查询,可以用右模糊,可以走索引,即like ‘…%’(2)询条件中is null、is not null应尽量避免在where 子句中对字段进行null 值判断,会走全表:select id from t where num is null解决办法:对于is null,可以建立组合索引,nvl(字段,0),对表和索引analyse后,is nul.原创 2020-07-29 10:19:05 · 5707 阅读 · 3 评论 -
MySQL优化——explain的使用
一、理论基础1.1、简介(1)explain作用explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。(2)explain用法在select语句前加上explain就可以了如:explainselectsurname,first_nameforma,bwherea.id=b.id1.2、EXPLAIN列的解释table:显示这一行的数据是关于哪张表的 type:这是重要的列,显示连接使用了何种...原创 2020-07-28 12:35:02 · 312 阅读 · 0 评论 -
MySQL:MyCat中间件实现动态数据源、读写分离,分库分表
一、MyCat介绍1.1、什么是MyCat来自阿里的用于支持数据库读写分离、分表分库的分布式中间件。官网:http://www.mycat.io/1.2、MyCat原理主要是通过对SQL的拦截,然后经过一定规则(如分片解析、路由分析、读写分离分析、缓存分析等),将SQL发动给后端真实的数据块,并将返回的结果做适当处理返回给客户端。有点类似于Nginx反向代理,它可以隐藏数据...原创 2020-01-14 13:09:32 · 2009 阅读 · 2 评论 -
《高性能MySQL》5:MySQL高级特征
一、分区表二、视图三、外键约束.....待更新上一篇:https://blog.csdn.net/RuiKe1400360107/article/details/103963462下一篇: 参考资料:《高性能MySQL 第三版》### 若对你有帮助的话,欢迎点赞!评论!+关注!...原创 2020-01-13 20:01:57 · 297 阅读 · 0 评论 -
《高性能MySQL》4:查询性能优化
一、怎么优化查询?思考题,下文有详细分析答案并不是所有表都要优化,一般优化都是由架构师带着一两个人指导性地做,每周开个会系统性指导性地进行。——优化数据访问a、检查是否向数据库请求来了不需要的数据:比如不需要的记录、多表关联返回全部列、总是取出全部列、重复查询相同数据; b、检查是否扫描了额外的记录:比如扫描的行数和返回的行数相差很大,可以优化一下(怎么优化,看下文); c、使用索...原创 2020-01-13 20:00:04 · 631 阅读 · 0 评论 -
《高性能MySQL》3:创建高性能的索引
一、索引基础1.1、什么是索引索引也叫“键key”(可以理解成书本的索引),是存储引擎用于快速查找记录的一种数据结构,是存储引擎层而不是服务层实现的,不同存储引擎索引方式不同(即使多个存储引擎支持同一种类型索引,其底层实现可能也不一样的)。1.2、索引优点(1)可以让服务器快速定位到表的指定位置,减少了服务器需要扫描的数据量;(2)如常见B-Tree按顺序存储数据,帮助服务...原创 2020-01-02 00:36:46 · 366 阅读 · 0 评论 -
《高性能MySQL》2:Schema与数据类型优化
一、选择优化的数据类型(1)更小的更好选择不会超过范围的最小类型,因为它占用更小的内存、CPU缓存和处理周期、磁盘。例如DATETIME和TIMESAMP列都可以存储相同类型数据:时间和日期,精确到秒,但是TIMESAMP只使用DATETIME一半的存储空间。(2)简单就好简单类型减少CPU处理周期。例如整形比字符操作代价更低,因为字符集的排序规则比整形复杂(3)尽量避免N...原创 2019-12-31 15:13:58 · 300 阅读 · 2 评论 -
《高性能MySQL》1:浅析MySQL基本常识
一、并发控制二、事物2.1、什么是事物事物是逻辑上的一组操作,要么都执行,要么都不执行。事物的四大特性(ACID):(1)原子性:事物是最小执行单元不可再分割,原子性确保动作要么全部完成,要么全部不完成;(2)一致性:执行事物前后数据保持一致,多个事物对同一个数据读取结果相同;(3)隔离性:并发访问数据库时,一个用户的事物不被其他事物干扰,彼此间独立;(4)持久性:...原创 2019-12-27 17:54:33 · 239 阅读 · 0 评论