
数据库
文章平均质量分 77
佐佑时代
这个作者很懒,什么都没留下…
展开
-
面试MySQL连环问,帮你迎刃而解
前言MySQL在面试中经常被问到,本文总结了面试中的经典问题。1. 数据库三大范式是什么?第一范式:每个列都不可以再拆分。第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。在设计数据库结构的时候,要尽量遵守三范式,如果不遵守,必须有足够的理由。比如性能。事实上我们经常会为了性能而妥协数据库的设计。2. mysql有关权限的......原创 2022-06-13 21:40:45 · 194 阅读 · 0 评论 -
MySQL 模糊查询再也用不着 like+% 了!
我们都知道 InnoDB 在模糊查询数据时使用 "%xx" 会导致索引失效,但有时需求就是如此,类似这样的需求还有很多,例如,搜索引擎需要根基用户数据的关键字进行全文查找,电子商务网站需要根据用户的查询条件,在可能需要在商品的详细介绍中进行查找,这些都不是B+树索引能很好完成的工作。通过数值比较,范围过滤等就可以完成绝大多数我们需要的查询了。但是,如果希望通过关键字的匹配来进行查询过滤,那么就需要基于相似度的查询,而不是原来的精确数值比较,全文索引就是为这种场景设计的。全文索引(Full-Text S...原创 2022-06-13 21:41:54 · 339 阅读 · 0 评论 -
MySQL中,当update修改数据与原数据相同时会再次执行吗?
本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗?二、测试环境MySQL5.7.25Centos 7.4三、binlog_format为ROW1、参数2、测试步骤session1session2session13、总结在binlog_format=row和binlog_row_image=FULL时,由于MySQL 需要在 binlog 里面记录所有......原创 2022-06-09 00:48:10 · 899 阅读 · 0 评论 -
自动检测SQL语句的神器?再也不用担心SQL出错了!
Yearning MYSQL 是一个SQL语句审核平台。提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度上解决运维与开发之间的那一环,功能丰富,代码开源,安装部署容易!1、SQL查询查询导出查询自动补全2、SQL审核流程化工单SQL语句检测SQL语句执行SQL回滚3、历史审核记录4、查询审计5、推送E-mail工单推送钉钉webhook机器人工单推送6、其他LDAP登陆用户权限及管理拼图式细粒度权限划分(共12项独立权限,可随意组合)Dashboarddashboard主要展示Yearni原创 2022-06-06 22:09:23 · 3253 阅读 · 0 评论 -
你还在 Select * 吗?
应用程序慢如牛,原因多多,可能是网络的原因、可能是系统架构的原因,还有可能是数据库的原因。那么如何提高数据库SQL语句执行速度呢?有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们也有莫大的关系。程序中嵌入的一行行的SQL语句,如果使用了一些优化小技巧,定能达到事半功倍的效果。技巧1 比较运算符能用 “=”就不用“”“=”增加了索引的使用几率。技巧2 明知只有一条查询结果,那请使用 “LIMIT 1”“LIMIT 1”可以避免全表扫描,找到对应结果就不会再继续扫描了。技巧3 为列..原创 2022-06-06 22:10:32 · 103 阅读 · 0 评论 -
删库跑路?我劝你不要这样。
程序员界有这样一个老梗,某公司数据库管理员抱怨自己老板一直虐待他,结果他一气之下就删库跑路了……此前也有报道,杭州某科技公司的技术总监,因不满被老板开除,心生报复的打算。删除了数据库上的一些关键索引和部分表格。当然,也有不少名企也遇到过相同的遭遇。不知道大家看完后有什么想法?我想大道理人人都懂,这些案子的当事人肯定也是有法律意识的,只不过意气用事,心存侥幸,而最终亏了自己。而最近,又有程序员删库了,只不过他没跑掉,还被抓了。# 事件回溯湖南**服务有限公司于2019年11月份开始在深圳市南山区软件产业基地办原创 2022-06-07 12:26:20 · 293 阅读 · 0 评论 -
MySQL的varchar类型,你真的会用吗?
InnoDB是干嘛的?InnoDB是一个将表中的数据存储到磁盘上的存储引擎。# InnoDB是如何读写数据的?InnoDB处理数据的过程是发生在内存中的,需要把磁盘中的数据加载到内存中,如果是处理写入或修改请求的话,还需要把内存中的内容刷新到磁盘上。读写磁盘的速度非常慢,和内存读写差了几个数量级,所以当我们想从表中获取某些记录时,InnoDB存储引擎将数据划分为若干个页,以页作为磁盘和内存...原创 2022-06-09 00:49:29 · 3015 阅读 · 0 评论 -
SQL中where 1=1是什么意思?
在mybatis中常用到if标签判断where子句后的条件,为防止首字段为空导致sql报错。没错 ,当遇到多个查询条件,使用where 1=1 可以很方便的解决我们条件为空的问题,那么这么写 有什么问题吗 ?网上有很多人说,这样会引发性能问题,可能会让索引失效,那么我们今天来实测一下,会不会不走索引?实 测title字段 已经加上索引,我们通过EXPLAIN看下对比上面两种我们会发现 可以看到 possible_keys(可能使用...原创 2022-06-11 22:48:39 · 424 阅读 · 0 评论 -
连接数据库为什么非常耗资源?
开发应用程序久了,总想刨根问底,尤其对一些有公共答案的问题。大家都能解释,但是追根究底,都解释不清。凡是都有为什么,而且用数字说明问题是最直观的。本文主要想探究一下连接数据库的细节,尤其是在Web应用中要使用数据库来连接池,以免每次发送一次请求就重新建立一次连接。对于这个问题,答案都是一致的,建立数据库连接很耗时,但是这个耗时是都多少呢,又是分别在哪些方面产生的耗时呢?本文以连接MySQL数据库为例,因为MySQL数据库是开源的,其通信协议是公开的,所以我们能够详细分析建立连接的整个过程。在本文中,消耗资源原创 2022-06-11 22:48:57 · 185 阅读 · 0 评论 -
MySQL在CentOS 7.5中的一键安装shell脚本
CentOS版本为7.5,MySQL版本为5.7.19,一键安装shell脚本,亲测有效!安装过程中要留意复制自动生成的root临时密码,登录root账户后修改密码。 #!/bin/bash tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ cd /usr/local/ mv mysql-5.7.19-li...原创 2018-11-24 22:44:34 · 574 阅读 · 0 评论