mysql
文章平均质量分 87
wrr-cat
这个作者很懒,什么都没留下…
展开
-
数据库索引的知识点,你所需要了解的都在这儿了
数据库索引,相信大家都不陌生吧。索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。作为辅助查询的工具,合理的设计索引能很大程度上减轻db的查询压力,db我们都知道,是项目最核心也是最薄弱的地方,如果压力太大很容易产生故障,造成难以预计的影响。所以,不管是日常开发还是面试,索引这一块知识体系都是必须掌握的。原创 2023-04-11 17:04:13 · 805 阅读 · 0 评论 -
MySQL七种日志介绍
MySQL作为我们工作中最常接触的中间件,熟练使用只算是入门,如果要在简历写上一笔精通,还需要深入了解其内部工作原理,而这7种日志也只是深入学习过程中的一个起点,学无止境,兄嘚干就完了!原创 2023-04-03 20:20:44 · 96 阅读 · 0 评论 -
python DbUtils 封装
python工具mysql连接池python3 实现mysql数据库连接池首先声明一下,这篇博客进行了通过自己的代码方式,加上这篇博客,最后总结出这段代码。参考博客连接:http://blog.csdn.net/zbc1090549839/article/details/51336458python编程中可以使用MySQLdb进行数据库的连接及诸如查询/插入/更新等操作,但是每次连接mysql数据库请求时,都是独立的去请求访问,...原创 2022-07-04 11:52:15 · 2774 阅读 · 0 评论 -
MySQL 百万级数据,如何做分页查询?
方法1: 直接使用数据库提供的SQL语句 语句样式:MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景:适用于数据量较少的情况(元组百/千级) 原因/缺点:全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃. 方法2:建立主键或唯一索引, 利用索引(假设每页10条) 语句样式:MySQL中,可用如下方法: ...原创 2021-05-07 17:50:23 · 345 阅读 · 0 评论 -
mysql约束与索引的区别
一:约束作用:是为了保证数据的完整性而实现的摘自一套机制,它具体的根据各个不同的数据库的实现而有不同的工具(约束);这里主要讲解mysql的约束:1、非空约束:not null;指示某列不能存储NULL值2、唯一约束:unique();ukunique约束的字段,要求必须是唯一的,但null除外;3、主键约束:primary key();pk主键约束=not null + unique,确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特...转载 2021-05-07 17:26:29 · 967 阅读 · 0 评论 -
MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
安装环境操作系统 :CentOS 6.5 数据库版本:MySQL 5.6.27主机A:192.168.1.1 (Master)主机B:192.168.1.2 (Slave)这里强调的数据库的版本,是因为MySQL在5.6之前和之后的安装方式是不一样的。本人在进行配置的时候,也遇到了这个坑,这里提前说明,希望大家不要采坑。注:这里有一篇CentOS安装MySQL的文章,在这里引出,过程亲测,希望对大家有帮助:http://blog.csdn.net/xlgen157387/article转载 2021-04-13 12:15:29 · 517 阅读 · 0 评论 -
重新学习MySQL数据库12:从实践sql语句优化开始
除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段 尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED VARCHAR的长度只分配真正需要的空间 使用枚举或整数代替字符串类型 尽量使用T原创 2021-03-10 15:49:36 · 96 阅读 · 0 评论 -
重新学习MySQL数据库11:以Java的视角来聊聊SQL注入
本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章首发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《重新学习MySQL数据库》其中一篇,本文部分内容来源于网络,为了把本文主题讲得清晰透彻,也整合了很多我认为不错的技术博客内容,引用其中了一些比较好的博客文章,如有侵权,请联系作者。该原创 2021-03-10 13:36:16 · 129 阅读 · 0 评论 -
重新学习Mysql数据库8:MySQL的事务隔离级别实战
本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章首发于我的个人博客:www.how2playlife.com本文是微信公众号【Java技术江湖】的《重新学习MySQL数据库》其中一篇,本文部分内容来源于网络,为了把本文主题讲得清晰透彻,也整合了很多我认为不错的技术博客内容,引用其中了一些比较好的博客文章,如有侵权,请联系作者。该原创 2021-03-09 15:47:28 · 72 阅读 · 0 评论 -
重新学习Mysql数据库7:详解MyIsam与InnoDB引擎的锁实现
说到锁机制之前,先来看看Mysql的存储引擎,毕竟不同的引擎的锁机制也随着不同。三类常见引擎:MyIsam:不支持事务,不支持外键,所以访问速度快。锁机制是表锁,支持全文索引InnoDB:支持事务、支持外键,所以对比MyISAM,InnoDB的处理效率差一些,并要占更多的磁盘空间保留数据和索引。锁机制是行锁,不支持全文索引Memory:数据是存放在内存中的,默认哈希索引,非常适合存储临时数据,服务器关闭后,数据会丢失掉。如何选择存储引擎:MyISAM:应用是以读操作和插入操作为主..转载 2021-03-09 15:49:50 · 89 阅读 · 0 评论 -
MySQL如何利用索引优化ORDER BY排序语
MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度。MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作。通过索引优化来实现MySQL的ORDER BY语句优化:1、ORDER BY的索引优化。如果一个SQL语句形如:SELECT [column1],[column2],…. FROM [TABLE] ORDER BY [sort];在[sort]这个栏位上建立索引就可以实现利用索引进行order by转载 2021-04-12 16:25:34 · 138 阅读 · 0 评论 -
重新学习Mysql数据库5:根据MySQL索引原理进行分析与优化
一:Mysql原理与慢查询MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。本人从13年7原创 2021-03-09 10:15:33 · 101 阅读 · 0 评论 -
optimize table命令
在使用mysql的时候有时候,可能会发现尽管一张表删除了许多数据,但是这张表表的数据文件和索引文件却奇怪的没有变小。这是因为mysql在删除数据(特别是有Text和BLOB)的时候,会留下许多的数据空洞,这些空洞会占据原来数据的空间,所以文件的大小没有改变。这些空洞在以后插入数据的时候可能会被再度利用起来,当然也有可能一直存在。这种空洞不仅额外增加了存储代价,同时也因为数据碎片化降低了表的扫描效率。使用场景:如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, B.原创 2021-04-12 13:16:55 · 1641 阅读 · 0 评论 -
重新学习Mysql数据库4:Mysql索引实现原理和相关数据结构算法
MySQL索引一、简介MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引二、语句<pre>CREATE TABLE table_name[col_name data type][unique|fulltext][index|key]index_name[asc|desc]</pre>1.unique|fulltext为可选参数,分别表示唯一索引、全文索引2.index和key为同义词,两者作用相同,用来原创 2021-04-09 10:37:53 · 205 阅读 · 0 评论 -
重新学习Mysql数据库3:Mysql存储引擎与数据存储原理
前言作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了解数据库的、不了解数据库的有所帮助。本文中对于数据库的介绍以及研究都是在 MySQL 上进行的,如果涉及到了其他数据库的内容或者实现会在文中单独指出。数据库的定义很多开发者在最开始时其实都原创 2021-03-05 14:20:33 · 165 阅读 · 0 评论 -
重新学习Mysql数据库2:『浅入浅出』MySQL 和 InnoDB
作为一名开发人员,在日常的工作中会难以避免地接触到数据库,无论是基于文件的 sqlite 还是工程上使用非常广泛的 MySQL、PostgreSQL,但是一直以来也没有对数据库有一个非常清晰并且成体系的认知,所以最近两个月的时间看了几本数据库相关的书籍并且阅读了 MySQL 的官方文档,希望对各位了解数据库的、不了解数据库的有所帮助。本文中对于数据库的介绍以及研究都是在 MySQL 上进行的,如果涉及到了其他数据库的内容或者实现会在文中单独指出。数据库的定义很多开发者在最开始时其实都对数据库原创 2021-03-05 14:33:41 · 93 阅读 · 0 评论 -
mysql死锁实例_MySql一个生产死锁案例分析
接到上级一个生产环境MySQL死锁日志信息文件,需要找出原因并解决问题。我将死锁日志部分贴出如下:在mysql中使用命令:SHOW ENGINE INNODB STATUS;总能获取到最近一些问题信息,通过搜索deadlock 关键字即可找到死锁的相关日志信息。2019-09-25 13:28:25 7fc0301ca700InnoDB: transactions deadlock detected, dumping detailed information.2019-09-25 13:28:2转载 2021-04-08 16:16:42 · 493 阅读 · 0 评论 -
MySQL中for update的作用和用法
一、for update定义for update是一种行级锁,又叫排它锁。一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行。如果其它用户想更新该表中的数据行,则也必须对该表施加行级锁.即使多个用户对一个表均使用了共享更新,但也不允许两个事务同时对一个表进行更新,真正对表进行更新时,是以独占方式锁表,一直到提交或复原该事务为止。行锁永远是独占方式锁。只有当出现如下之一的条件,才会释放共享更新锁:执行提交(COMMIT)语转载 2021-04-08 15:40:00 · 3545 阅读 · 0 评论 -
重新学习Mysql数据库1:无废话MySQL入门
『浅入深出』MySQL 中事务的实现在关系型数据库中,事务的重要性不言而喻,只要对数据库稍有了解的人都知道事务具有 ACID 四个基本属性,而我们不知道的可能就是数据库是如何实现这四个属性的;在这篇文章中,我们将对事务的实现进行分析,尝试理解数据库是如何实现事务的,当然我们也会在文章中简单对 MySQL 中对 ACID 的实现进行简单的介绍。事务其实就是并发控制的基本单位;相信我们都知道,事务是一个序列操作,其中的操作要么都执行,要么都不执行,它是一个不可分割的工作单位;数据库事务的 ACID 四大原创 2021-03-05 14:35:10 · 91 阅读 · 0 评论