摘要:前言 当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。 准备工作 为了对下面列举的一些优化进行测试,下面针对已有的一张表进行说明。 1、表名:o
阅读全文
摘要:传闻 网络上一直流传着一种观点,认为在单个MySQL表中,数据的行数一旦超过2000万,表的性能就可能受到影响。这种观点主要源于早些时候使用HDD硬盘存储时的经验。 2024年了,当我们使用基于SSD的MySQL数据库时,这种判断是否依然有效。换句话说,基于现代存储技术,MySQL表的行数是否仍然需
阅读全文
摘要:最近系统升级牵涉到MySQL升级,需要升级到 MySQL 8.0,涉及MySQL用户的密码修改,特地记录一下! MySQL 8.0前修改密码 在MySQL 8.0前,执行:SET PASSWORD=PASSWORD('[新密码]') 进行密码修改,在MySQL 8.0后,以上的方法使用root用户修
阅读全文
摘要:1、LOWER(column|str):将字符串参数值转换为全小写字母后返回 mysql> select lower('SQL Course'); + + | lower('SQL Course') | + + | sql course | + + 2、UPPER(column|str):将字符串参
阅读全文
摘要:不知道大家是不是和我一样,每次给有个列添加 int(11) 的时候都会想,会不会是 int(10) ,偶尔也会发神经的想,如果 int(32) 这样的可否? 索性,我们就先来解决这个问题吧。 int 类型的底层存储采用的是 4 字节,也就是 32 位,这样能够存储的实际最大值为 4 294 967
阅读全文
摘要:Explain语法 EXPLAIN SELECT …… 变体: 1. EXPLAIN EXTENDED SELECT …… 将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句 2. EXPLAIN PARTITIONS SELECT ……
阅读全文
摘要:写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页
阅读全文
摘要:第一种方式: 最简单的方法就是借助第三方工具Navicat for MySQL来修改,方法如下: 1、登录mysql到指定库,如:登录到test库。 2、然后点击上方“用户”按钮。 3、选择要更改的用户名,然后点击上方的“编辑用户”按钮。 4、出现如图界面,输入新密码,并确认新密码,点击“保存”按钮
阅读全文
摘要:记一次MySQL 死锁分析处理过程,聊聊我的思路。前车之鉴,后事之师。 以一个例子为切入点 一、问题背景 某业务模块反馈数据库最近出现过几次死锁告警的情况,本文总结了这次死锁排查的全过程,并分析了导致死锁的原因及解决方案。 希望给大家提供一个死锁的排查及解决思路。 基础环境: 主机类型:x3850
阅读全文
摘要:如何在Linux下卸载MySQL数据库呢? 下面总结、整理了一下Linux平台下卸载MySQL的方法。 MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries)、RPM包安装、源码安装。 RPM包安装方式的MySQL卸载 1: 检查是否安装了MySQL组件。 [r
阅读全文
摘要:Q:什么是触发器? A: 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。 触发器的特性: 1、有begin end体,begin end;之间的语句可以写的简单或者复杂 2、什么条件会触发:I、D、U 3、什么时候触发:在增删改前或者后 4、触发频率:针对每一行执
阅读全文
摘要:tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。 不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包。 例如: shell> tcpdump -nn -i eth0 icmp 下面是详细的tcpdump用法。 1
阅读全文
摘要:一、简介 MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引5.全文索引 二、语句 CREATE TABLE table_name[col_name data type] [unique|fulltext][index|key][index_name](col_n
阅读全文
摘要:在mysql文档中,mysql变量可分为两大类,即系统变量和用户变量。 但根据实际应用又被细化为四种类型,即局部变量、用户变量、会话变量和全局变量。 一、局部变量 mysql局部变量,只能用在begin/end语句块中,比如存储过程中的begin/end语句块。 其作用域仅限于该语句块。 -- de
阅读全文
摘要:问题 我们在设计表结构的时候,设计规范里面有一条如下规则:对于可变长度的字段,在满足条件的前提下,尽可能使用较短的变长字段长度。为什么这么规定,主要基于两个方面 基于存储空间的考虑 基于性能的考虑 网上说Varchar(50)和varchar(500)存储空间上是一样的,真的是这样吗?基于性能考虑,
阅读全文
摘要:一、前言 日志文件中记录着MySQL数据库运行期间发生的变化;包括MySQL数据库的客户端连接状况、SQL语句的执行情况和错误信息等,是MySQL数据库的重要组成部分。 MySQL日志分类: 错误日志 查询日志 慢查询日志 事务日志(Redo log) 二进制日志 中继日志 二、错误日志 默认情况下
阅读全文
摘要:安装MySQL-python 要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块。 下载地址:https://pypi.python.org/pypi/MySQL-python/ 下载MySQL-python-1.2.5.zip
阅读全文
摘要:业内目前推荐使用的是row模式,准确性高,虽然说文件大,但是现在有SSD和万兆光纤网络,这些磁盘IO和网络IO都是可以接受的。 那么,大家一定想问,为什么不推荐使用mixed模式,理由如下假设master有两条记录,而slave只有一条记录。master的数据为 + + + | id | n | +
阅读全文
摘要:1、MySQL适用的场景是什么? 数据量建议单实例T级或以内,不依赖存储过程、函数、触发器的传统oltp场景都适用,因为是一个相对轻量级的数据库 灾备使用MySQL各类的高可用方案即可,比如主从、mha、mgr等。 2、MySQL巡检应该怎么做?优先关注哪些参数? 可以从以下几个方面去做: 服务器配
阅读全文
摘要:简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,M
阅读全文