数据库
数据库
半路出家的码农小王
偶尔高产,偶尔懒,全凭灵感
展开
-
在千万级别数据库查询中,从数据库设计,SQL语句,java等层面提高查询效率
d.索引并不是越多越好,索引固然可以提高相应的select的效率,但同时也降低了insert及update 的效率,因为insert或update时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情况而定。c.并不是所有索引对查询都有效,SQL是根据表中数据来进行查询优化的,当索引列有大量数据重复时,查询可能不会去利用索引,如一表中有字段sex,male、female几乎各一半,那么即使在sex 上建了索引也对查询效率起不了作用。若应用系统需要频繁更新索引数据列,那么需要考虑是否应将该索引建为索引。原创 2023-12-30 19:40:35 · 953 阅读 · 0 评论 -
MySQL中如何将Json格式字段中某个属性查出来
在MySQL数据库中,你可以使用 `JSON_EXTRACT()` 函数来解析和提取 JSON 数据中的特定字段。-- 获取 nested_key 的值。-- 检查是否存在 key2。-- 获取 key1 的值。原创 2023-12-18 14:31:31 · 1120 阅读 · 0 评论 -
MYSQL performance schema 常用SQL
--1、哪类的SQL执行最多?SELECT DIGEST_TEXT,COUNT_STAR,FIRST_SEEN,LAST_SEEN FROM events_statements_summary_by_digest ORDER BY COUNT_STAR DESC--2、哪类SQL的平均响应时间最多?SELECT DIGEST_TEXT,AVG_TIMER_WAIT FROM events_statements_summary_by_digest ORDER BY COUNT_STAR DESC--.原创 2022-03-23 16:48:13 · 854 阅读 · 0 评论 -
MYSQL performance schema详解
0、performance_schema的介绍MySQL的performance schema 用于监控MySQL server在一个较低级别的运行过程中的资源消耗、资源等待等情况。特点如下:1、提供了一种在数据库运行时实时检查server的内部执行情况的方法。performance_schema 数据库中的表使用performance_schema存储引擎。该数据库主要关注数据库运行过程中的性能相关的数据,与information_schema不同,information_schema主要关注原创 2022-03-17 14:07:26 · 8254 阅读 · 3 评论 -
mysql执行计划
在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句的执行效率。可以使用explain+SQL语句来模拟优化器执行SQL查询语句,从而知道mysql是如何处理sql语句的。官网地址:MySQL :: MySQL 5.6 Reference Manual :: 8.8.2 EXPLAIN Output Formathttps://dev.mysql.com/doc/refman/5.6/en/explain-output.html1、执行计划中包含的信息原创 2022-03-14 19:48:24 · 106 阅读 · 1 评论 -
第一范式,第二范式,第三范式,反范式
范式出现的原因:减少数据的冗余第一范式:列不可分第二范式:不能存在传递依赖第三范式:其他列的值必须唯一依赖于主键范式 优点 范式化的更新通常比反范式要快 当数据较好的范式化后,很少或者没有重复的数据 范式化的数据比较小,可以放在内存中,操作比较快 缺点 通常需要进行关联反范式 优点 所有的数据都在同一张表中,可以避免关联 可以设计有效的索引; 缺点 ...原创 2022-03-12 16:22:23 · 463 阅读 · 1 评论 -
CentOS7 安装MySQL5.6
0、更换yum源0、安装wget命令yum install wget -y1、打开 mirrors.aliyun.com,选择centos的系统,点击帮助3、改变某些文件的名称mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup4、执行更换yum源的命令wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.a原创 2022-01-13 12:15:00 · 2393 阅读 · 1 评论 -
MySQL忘记密码后修改密码
1.关闭MySQLsystemctl stop mysql2.跳过授权进入mysqlmysqld --user=mysql --skip-grant-tables &3.无密码进入MySQL,修改root密码mysqlupdate mysql.user set password=password("123456") where user='root';flush privileges;5.退出重登即可 mysql -uroot -p123456..原创 2022-01-12 20:31:25 · 141 阅读 · 0 评论 -
mysql连接报错:The server time zone value X is unrecognized or represents more than one time zone
解决:在数据库驱动的url后加上serverTimezone=UTC参数原创 2022-01-12 07:52:48 · 200 阅读 · 0 评论 -
MySQL事务隔离级别
事务的隔离级别用于决定如何控制并发用户读写数据的操作。数据库是允许多用户并发访问的,如果多个用户同时开启事务并对同一数据进行读写操作的话,有可能会出现脏读、不可重复读和幻读问题,所以MySQL中提供了四种隔离级别来解决上述问题。事务的隔离级别从低到高依次为READ UNCOMMITTED、READ COMMITTED,REPEATABLE READ以及SERIALIZABLE,隔离级别越低,越能支持高并发的数据库操作。-- 查看默认的事务隔离级别 MySQL默...转载 2021-12-26 18:22:46 · 94 阅读 · 2 评论 -
MySQL存储过程
【1】什么是存储过程(Stored Procedure)通过前面章节的学习,我们已经知道SQL是一种非常便利的语言。从数据库抽取数据,或者对特定的数据集中更新时,都能通过简洁直观的代码实现。但是这个所谓的“简洁”也是有限制,SQL基本是一个命令实现一个处理,是所谓的非程序语言。在不能编写流程的情况下,所有的处理只能通过一个个命令来实现。当然,通过使用连接及子查询,即使使用SQL的单一命令也能实现一些高级的处理,但是,其局限性是显而易见的。例如,在SQL中就很难实现针对不同条件进行不同的处理以及.原创 2021-12-26 12:15:00 · 97 阅读 · 0 评论 -
MySQL事务并发问题
脏读:当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问了这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是“脏数据”,依据“脏数据”所做的操作可能是不正确的。简单来说就是:读取到事务还未提交的数据。不可重复读:(Unrepeatableread): 指在一个事务内多次读同一数据。在这个事务还没有结束时,另一个事务也访问该数据。那么,在第一个事务中的两次读数据之间,由于第二个事...转载 2021-12-25 12:15:00 · 496 阅读 · 0 评论 -
MySQL单表查询:语句顺序与执行顺序
【1】select语句顺序模版select column, group_function(column)from table[where condition][group by group_by_expression][having group_condition][order by column];注意:顺序固定,不可以改变顺序【2】select语句的执行顺序from--where -- group by-- select --having ...原创 2021-12-25 09:00:00 · 493 阅读 · 0 评论 -
MySQL中delete和truncate的区别
从最终的结果来看,虽然使用TRUNCATE操作和使用DELETE操作都可以删除表中的全部记录,但是两者还是有很多区别的,其区别主要体现在以下几个方面:(1)DELETE为数据操作语言DML;TRUNCATE为数据定义语言DDL。(2) DELETE操作是将表中所有记录一条一条删除直到删除完;TRUNCATE操作则是保留了表的结构,重新创建了这个表,所有的状态都相当于新表。因此,TRUNCATE操作的效率更高。(3)DELETE操作可以回滚;TRUNCATE操作会导致隐式提交,因此不能回滚。(原创 2021-12-24 16:42:59 · 2486 阅读 · 0 评论 -
MySQL表的完整性约束
主键约束,非空约束,唯一约束,检查约束,默认值约束,自增约束,外键约束....原创 2021-12-24 14:28:18 · 1126 阅读 · 0 评论