MySQL
文章平均质量分 70
豆奶快攻
这个作者很懒,什么都没留下…
展开
-
ShardingSphere读写分离相关
考虑到业务场景的复杂性,提供基于SPI接口实现符合自己业务需要的负载均衡算法。提供了读库负载均衡算法接口,用户根据自定的算法返回一个可访问的读库。/*** @param name 读写分离逻辑数据源名称* @param writeDataSourceName 写库数据源名称* @param readDataSourceNames 读库数据源名称集合* @return 命中的读库名称*/实现/*** 配置类中的props属性* # 负载均衡算法* read: # 自定义的算法名称。原创 2024-07-23 14:38:52 · 330 阅读 · 0 评论 -
MySQL相关
有个同学是这样写代码逻辑的。千万级别的文档对象,近10G的数据,对有索引的ID的查询 不会比mysql慢,而对非索引字段的查询,则是全面胜出。程序数据是在一个面向对象的、灵活的网络结构下,而不是严格的表中,但具备完全的事务特性、企业级的数据库的所有好处。哈希索引用索引列的值计算该值的hashCode,然后在hashCode相应的位置存执该值所在行数据的物理位置,因为使用散列算法,因此访问速度非常快,但是一个值只能对应一个hashCode,而且是散列的分布方式,因此哈希索引不支持范围查找和排序的功能。原创 2024-07-08 18:52:15 · 660 阅读 · 0 评论 -
数据库的分库分表
数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到 1000W 或 100G 以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定...原创 2020-02-26 01:36:50 · 544 阅读 · 0 评论 -
SQL 注入攻击
目录 为什么要聊 SQL 注入攻击? 什么是 SQL 注入攻击? 如何进行 SQL 注入攻击? 如何防范? 常见面试题 瞎比比 为什么要聊 SQL 注入攻击?我这人有个想法,就是不管自己跳不跳槽,每年都会调个时间去面试一下,一来可以摸摸自己的底,知道自己的价值,二来也可以知道市场的环境局势。可以更好地为自己定位,能及时查缺补漏。所以半...原创 2020-02-22 14:40:45 · 596 阅读 · 0 评论 -
MySQL常用语句
Windows服务-- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)连接与断开服务器mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VAR...原创 2018-09-10 13:19:30 · 7672 阅读 · 1 评论 -
在 MySQL 中使用 explain 查询 SQL 的执行计划
1、什么是MySQL执行计划 要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解。 MySQL本身的功能架构分为三个部分,分别是 应用层、逻辑层、物理层,不只是MySQL ,其他大多数数据库产品都是按这种架构来进行划分的。应用层,主要负责与客户端进行交互,建立链接,记住链接状态,返回数据,响应请求,这一层是和客户端打交道的。逻辑层,主要负...原创 2018-05-16 16:07:30 · 318 阅读 · 0 评论 -
读懂MySQL执行计划
前言 在之前的面试过程中,问到执行计划,有很多童鞋不知道是什么?甚至将执行计划与执行时间认为是同一个概念。今天我们就一起来了解一下执行计划到底是什么?有什么用途?执行计划是什么? 执行计划,简单的来说,是SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化等场景。在MySQL中使用 explain 关键字来查看。如下所示:1.查询t_base_userselect * from t_...原创 2018-04-27 16:41:26 · 167 阅读 · 0 评论 -
十个实用MySQL命令
前言今天介绍一些MySQL常用的实用命令,都是一些比较简单的命令。已经知道的朋友,就当是巩固吧,不知道的童鞋,可以好好在自己的机器上,练习下。 0. 显示数据库命令:show databases。作用:列出当前数据库服务器中所有的数据库。例子:mysql> show databases;+--------------------+| Database |+----...原创 2018-04-27 15:40:54 · 162 阅读 · 0 评论 -
MySQL 数据库的“十宗罪”(附十大经典错误案例)
希望能给刚入行,或数据库爱好者一些帮助,今后再遇到任何报错,我们都可以很淡定地去处理。学习任何一门技术的同时,其实就是自我修炼的过程。沉下心,尝试去拥抱数据的世界!Top1Too many connections(连接数过多,导致连接不上数据库,业务无法正常进行)问题还原:mysql> show variables like '%max_connection%';| Variable_nam...原创 2018-04-26 17:52:41 · 370 阅读 · 0 评论 -
58到家MySQL军规升级版
一、基础规范表存储引擎必须使用InnoDB 表字符集默认使用utf8,必要时候使用utf8mb4解读:(1)通用,无乱码风险,汉字3字节,英文1字节(2)utf8mb4是utf8的超集,有存储4字节例如表情符号时,使用它 禁止使用存储过程,视图,触发器,Event解读:(1)对数据库性能影响较大,互联网业务,能让站点层和服务层干的事情,不要交到数据库层(2)调试,排错,迁移都比较困难,扩展性较差 ...原创 2018-04-20 15:26:51 · 198 阅读 · 0 评论 -
MySQL系统变量配置基础
MySQL变量的概念个人认为可以理解成MySQL在启动或者运行过程中读取的一些参数问题,利用这些参数来启动服务、响应或者支持用户的请求等变量的配置如果打算长期使用,应该写入配置文件,而不是在命中指定,因为在命中设置的变量会随着MySQL服务的重启而恢复默认值另外要注意是设置的当前Session的变量还是全局的变量。变量单位不同的变量的单位不同,比如table_cache是指缓存的表的个数,而key...原创 2018-04-20 14:33:53 · 437 阅读 · 0 评论 -
MySQL的or/in/union与索引优化
假设订单业务表结构为:order(oid, date, uid, status, money, time, …)其中:oid,订单ID,主键date,下单日期,有普通索引,管理后台经常按照date查询uid,用户ID,有普通索引,用户查询自己订单status,订单状态,有普通索引,管理后台经常按照status查询money/time,订单金额/时间,被查询字段,无索引… 假设订单有三种状态:0已下...原创 2018-04-19 15:26:31 · 655 阅读 · 1 评论 -
11条SQL技巧
一、一些常见的SQL实践(1)负向条件查询不能使用索引select * from order where status!=0 and stauts!=1not in/not exists都不是好习惯可以优化为in查询:select * from order where status in(2,3) (2)前导模糊查询不能使用索引select * from order where desc like...原创 2018-04-19 15:24:37 · 182 阅读 · 0 评论 -
如何理解并正确使用MySQL索引
1、概述索引是存储引擎用于快速查找记录的一种数据结构,通过合理的使用数据库索引可以大大提高系统的访问性能,接下来主要介绍在MySql数据库中索引类型,以及如何创建出更加合理且高效的索引技巧。注:这里主要针对的是InnoDB存储引擎的B+Tree索引数据结构2、索引的优点大大减轻了服务器需要扫描的数据量,从而提高了数据的检索速度帮助服务器避免排序和临时表可以将随机I/O变为顺序I/O3、索引的创建 ...原创 2018-04-19 10:22:46 · 205 阅读 · 0 评论