mysql常见的几种优化方案-编程思维

Mysql 常见优化分类: select [字段 优化1]:主要是覆盖索引 from [表] where [条件 优化2] union [联合查询 优化3] 新建表 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(50) DEFAULT NULL CO

insert ... on duplicate key update-编程思维

返回值说明 如果行作为新记录被插入,则受影响行的值为1; 如果原有的记录被更新,则受影响行的值为2 如果更新的数据和已有的数据一模一样,则受影响的行数是0,这意味着不会去更新,也就是说即使你有的时间戳是自动记录最后一次的更新时间,这个时间戳也不会变动。 致命缺点 不能在并发情况下使用,会被mysql的检查机制发现死锁,这是间隙锁(GAP)导致的 作用及语法 先判断一条记录是否存在,存在

key_len的计算方式-编程思维

explain 我们可以通过explain关键字分析sql的执行计划,从而可以检查是否用到索引 当用的组合索引时,有可能只使用前半部分索引,此时key_len的数值小于组合索引的大小 key_len的计算方式 如果这个字段允许为空,多占用1个字节的额外空间,所以索引字段最好不要为NULL,因为NULL让统计更加复杂,并且需要额外的存储空间。 不同编码,占用字节数不一样,例如utf8的var

mysql聚簇索引和非聚簇索引-编程思维

聚簇索引 InnoDB使用的是聚簇索引 将数据与主键索引放在了一起,索引的叶子节点保存了行数据,找到了主键索引,即找到了行数据。 辅助索引记录了主键的位置,所以查询where name= xxx 时,先找辅助索引树,找到主键位置,然后找数据树,找到数据行 聚簇索引的数据的物理存放顺序与索引顺序是一致的,即:只要索引时相邻的,那么对应的数据一定也是相邻地存放在磁盘上的。聚簇索引要比非聚簇索

mysql小知识-编程思维

MySQL 事务属性 事务是由一组SQL语句组成的逻辑处理单元,事务具有ACID属性。 原子性(Atomicity):事务是一个原子操作单元。在当时原子是不可分割的最小元素,其对数据的修改,要么全部成功,要么全部都不成功。 一致性(Consistent):事务开始到结束的时间段内,数据都必须保持一致状态。 隔离性(Isolation):数据库系统提供一定的隔离机制,保证事务在不受外部并发操作影

drop,delete与truncate的区别-编程思维

drop直接删掉表; truncate删除的是表中的数据,再插入数据时自增长的数据id又重新从1开始; delete删除表中数据,可以在后面添加where字句。 DELETE语句执行删除操作的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删

mysql常用数据类型-编程思维

VARCHAR与CHAR字符型数据的差异 char(n)和varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(UTF8)意味着可以插入m个中文,但是实际会占用m3个字节,m∗3<=255,m∗3<=65535。使用 utf8mb4的话插入m个中文,会占用m4个字节。m∗4<=255,m∗4<=65535。- 同时char和varcha

mysql 备份数据-编程思维

导出所有数据库 mysqldump -uroot -proot --all-databases >/tmp/all.sql 导出db1、db2两个数据库的所有数据 mysqldump -uroot -proot --databases db1 db2 >/tmp/user.sql 导出db1中的a1、a2表 注意导出指定表只能针对一个数据库进行导出,且导出的内容中和导出数据库也

mariadb的安装及相关配置-编程思维

MariaDB的安装及相关配置 安装 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start mariadb 设置开机启动 systemctl enable mariadb 登录及密码 mysql_secure_installation 首先是设置密码,会提示先输入密码,然后依次进行其他

windows安装mysql8-编程思维

在mysql根目录下新建配置文件 my.ini [mysqld] # 设置3306端口 port=33061 # 设置mysql的安装目录 basedir=D:\mysql-8.0.25-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\mysql-8.0.25-winx64\mysqlData # 允许最大连接数 max_connections=2000 # 允许

sql优化的一些方法-编程思维

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:   select id from t where num is null   可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:   select i

mysql sql 语句大全-编程思维

mysql sql语句大全 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwi

python连接mysql并使用-编程思维

由于mysql体积小,速度快,成本低,源码开放,所以一些中小型系统开发都采用mysql 我们连接mysql采用的工具包是pymysql 1.安装pymysql pip install pymysql 2.pymysql工作图 python操作数据库主要涉及connection和cursor这两个对象 connection对象 connection对象是与数据源的唯一对话,可以使

mysql-jdbc反序列化分析-编程思维

0x01 前言 听师傅们说这条链子用的比较广泛,所以最近学一学,本来是想配合着 tabby 或是 codeql 一起看的,但是 tabby 的环境搭建一直有问题,耽误了很久时间,所以就直接看了。 0x02 JDBC 的基础 本来不太想写这点基础的,但想了想觉得还是要补一点。 JDBC 对数据库的操作一般有以下步骤: 1、导入包:要求您包含包含数据库编程所需的 JDBC 类的软件包。通常,使用 i

个人文章-编程思维

概述索引是MySQL的数据结构,关系着MySQL如何存储数据,查询数据;而如何操作数据,解决多线程时操作数据带来的问题,则需要通过事务来完成。InnoDB引擎支持事务,MyISAM引擎不支持事务ACID事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。一致性

合天网安实验室-编程思维

0x01 前言听师傅们说这条链子用的比较广泛,所以最近学一学,本来是想配合着 tabby 或是 codeql 一起看的,但是 tabby 的环境搭建一直有问题,耽误了很久时间,所以就直接看了0x02 JDBC 的基础本来不太想写这点基础的,但想了想觉得还是要补一点JDBC 对数据库的操作一般有以下步骤导入包:要求您包含包含数据库编程所需的 JDBC 类的软件包。通常,使用 import java.

kubernetes实践-编程思维

背景:数据库基本为myql,数量不是很多,过去一直默认开启了防火墙模式通过公司固定IP,远程访问操作mysql。疫情原因,一些小伙伴不喜欢远程通过公司的网络去连接mysql,频繁添加防火墙操作。并且对数据库的操作及其不规范,没有访问操作的日志,也没有各种审核。虽然每次操作数据库前会对数据库进行备份。但是这样的安全操作隐患还是很严重的。在此背景下发现还是需要一款mysql审计平台,规范化数据库的操作

个人文章-编程思维

定义当使用 WITH CHECK OPTION 子句创建视图时,MySQL会通过视图检查正在更改的每个行,例如 插入,更新,删除,以使其符合视图的定义。 MySQL允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围,mysql提供了两个选项:CASCADED 和 LOCAL ,默认值为 CASCADED 。检查选项的关键字是检查,即检查操作记录的时候,是否符合视

个人文章-编程思维

GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者: KAiTO文章来源:GreatSQL社区原创往期回顾图文结合带你搞懂MySQL日志之relay log(中继日志)图文结合带你搞懂MySQL日志之Slow Query Log(慢查询日志)图文结合带你搞懂MySQL日志之Error Log(错误日志