MySQL 表和碎片整理以恢复空间

发布时间:2022-07-29 数据库相关 MYSQL 数据库
叙述 【摘要】 如果您的应用程序正在对 MySQL 数据库执行大量删除和更新,那么您的 MySQL 数据文件很可能是碎片化的。 这将导致大量未使用的空间,并且还可能影响性能。 因此,强烈建议您持续对 MySQL 表进行碎片整理。 如果您的应用程序正在对 MySQL 数据库执行大量删除和更新,那么您的 MySQL 数据文件很可能是碎片化的。 这将导致大量未使用的空间,并且还可能影响性能。 因此,强烈建议您持续对 MySQL 表进行碎片整理。 本教程解释了如何优化 MySQL 以对表进行碎片整...

mysql 拆分字符串做条件查询

发布时间:2022-07-29 数据库相关 数据库 SQL ORACLE
案例 库表描述: 这表的ancestors列存放的是所有的祖先节点,以,分隔 例如我查询dept_id为103的所有祖先节点,现在我只有一个dept_id该怎么查 然后我去网上找到这样一个神奇的sql,改改表名就成了下面的这样 SELECT substring_index( substring_index( a.ancestors, ',', b.help_topic_id + 1 ), ',',- 1 ) AS shareholder FROM sys_dept a JOIN mysql.h...

MYSQL非int类型排序失败问题解决

发布时间:2022-08-11 数据库相关 SQL 数据库
示例:查询产品表中每个产品部件的数量并按产品id降序排列: select prod_id,COUNT(part_name) from 'prod_part' GROUP BY prod_id ORDER BY prod_id DESC 运行后发现排序没有生效 修改代码为: select prod_id,COUNT(part_name) from 'prod_part' GROUP BY prod_id ORDER BY (prod_id+0) DESC 这里的排序为什么要使用(part_id+0)来排呢?...

Mysql查看执行语句

发布时间:2022-08-09 数据库相关 MYSQL SQL 数据库
mysql查看正在执行的sql语句 show processlist; mysql开启日志模式记录执行的历史sql语句 查看是否开启日志模式 show variables like ‘%log_output%’; show variables like ‘%general_log%’; 开启日志模式: SET GLOBAL log_output = ‘TABLE’; // 慢日志输出到表中 SET GLOBAL general_log = ‘ON’; //日志开启 关闭日志模...

MySQL sql_mode

发布时间:2022-08-21 数据库相关 MYSQL SQL 数据库
叙述 今天我们来分享一下MySQL的SQL mode , 这也是我们比较容易忽略的一点,我们在一开始安装数据库的时候其实就要先考虑要保留哪些SQL mode,去除哪些,合理的配置能够减少很多不必要的麻烦。 MySQL 5.7默认的SQL mode包含ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_...

MySQL 字符集

发布时间:2022-08-21 数据库相关 JAVA MYSQL 数据库
叙述 gbk/gb2312 gbk/gb2312 采用双字节字符集,不论中、英文字符均使用双字符来表示,为了区分中文,将其最高位都设定成1 gb2312是gbk的子集,gbk是gb18030的子集,gb2312仅能存储简体中文字符 gbk包括中日韩字符的大字符集 通常使用gbk字符集足够 国际通用性比utf8差,不过utf8占用的数据库比gbk大(utf8是三字节字符集) utf8/utf8mb4 UTF全称(Unicode Transformation Format),是Unicode的一种存...

oracle数据同步报错请确认数据库名是否正确

发布时间:2022-08-25 数据库相关 数仓 ORACLE 数据库
报错信息:连接数据库失败,请确认数据库名是否正确。 实例授权失败!   原因:数据库名未修改,仔细排查一下。 我这边使用爱数工具进行oracle数据同步。 解决: SSH登录到服务器 su - oracle sqlplus / as sysdba show parameter db_name; NAME                                 TYPE                     VALUE --------------------------------------...

本地navicat远程连接oracle报错:ORA-12541:TNS no listener (已解决)

发布时间:2022-08-24 数据库相关 数据库 服务器 ORACLE
1:现在本地修改Oracle数据库中的listener.ora文件, 将HOST后面的值更改为本机ip地址, 如下图: 2:然后将同一网段的远程服务器的这个地址也修改了,修改为ip地址 3:修改navicat的oci.dll配置路径,为安装oracle的路径下的,而不是navicat自带的oci.dll 期间遇到ORA-12638:身份证明检索失败: 要修改listener.ora统计目录下的sqlnet.ora文件:SQLNET.AUTHENTICATION_SERVICES= (NONE)    ...

MySQL模糊查询特殊字符处理

发布时间:2022-08-26 数据库相关 MYSQL 特殊字符 模糊查询
一、背景 模糊查询字段输入一个%,查出了所有数据 SELECT * FROM region_info WHERE region LIKE '%%%'; 目标结果应该返回region属性包含%的结果集: 然而(部分结果集): 二、原因 MySQL有一些特殊字符需要进行转义,模糊查询中%、_是属于匹配规则特殊字符,单引号'和转义字符\也需要处理 三、解决办法 需要查询内容进行转义,如: SELECT * FROM region_info WHERE region LIKE '%\%%'; 正确结果集: 代...

MySQL分组合并属性值GROUP_CONCAT函数

发布时间:2022-08-30 数据库相关 MYSQL 分组 GROUP_CONCAT
1.背景 学生表、分数记录表、学生和分数纪录关系表;要查询统一学生多次分数,正常做法是 SELECT s.id, s.`name`, sr.score FROM student AS s JOIN student_score_relation AS ssr ON s.id = ssr.student_id JOIN score_record AS sr ON ssr.score_record_id = sr.id; 最后在数据库分组合并记录 2.使用MySQL的GROUP_CONCAT函数 SELECT...

数据库相关知识(一)

发布时间:2022-08-30 数据库相关 MYSQL SQL 数据库
​ 一、数据库操作 1.概念:存储数据–以文件形式 2.数据安装: 问题:出现什么问题,搜哪里 卸载问题:5.x — 注册表 编码 — 选择utf8 latin -utf8 3.配置环境: 如果出不是内部命令情况下,path中的路径用全路径 4.登录数据库 mysql -u root -p 或者是mysql -u root -p root 5.退出数据库 quit 或 exit 6.查看数据库版本 mysql -V #未登录使用 mysql --version #未登录使用 select version(...

Linux-mysql卸载、安装和升级

发布时间:2022-10-19 数据库相关 MYSQL 运维 LINUX
用作学习笔记,具体可参看官方文档 https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/upgrading.html (一)Mysql卸载 1、使用以下命令查看当前安装mysql情况,以及查看包名 rpm -qa|grep -i mysql 2、停止mysql服务、删除之前安装的mysql,该方式可防止有依赖包错误 删除命令: rpm -ev 包名 --nodeps 例:rpm -ev MySQL-client-5.5.25a-1.r...

Mysql存储过程示例以及说明

发布时间:2022-08-29 数据库相关 MYSQL 数据库
MySQL 存储过程是从 MySQL 5.0 开始增加的新功能,目的是数据库 SQL 语言层面的代码封装与重用。 以下是一个向目标数据库写大量模拟数据的 存储过程 示例: DROP PROCEDURE IF EXISTS proc_initData; DELIMITER $CREATE PROCEDURE proc_initData()BEGIN DECLARE i INT DEFAULT 80000; WHILE i>0 DO insert into SC (sc_id,...

[已解决]MySql 8.0 新建只有查询权限的用户看不到(查不到)表的问题

昨天晚上公司要求需要新建一个只能查询权限的用户账号, 但按照网上其他命令执行完后能打开库,能看到视图,却看不到表 哪怕在 Navicat 里面图形化操作新建用户并赋权都看不到表,很奇怪 那么你就需要看看你的MySQL版本是不是8.0的版本 select version(); 我的是:8.0.24 版本 如下命令你可以选择登录 root 权限的账号在 Navicat 里面执行,或者上服务器里面执行 CREATE USER '账号'@'%' IDENTIFIED BY '密码'; -- 创建用户ALTER U...

DBA-Mysql-锁

发布时间:2022-08-13 数据库相关 MYSQL DBA 数据库
1、表锁类型(如 lock tables city read/write) 表级锁 lock tables 表名 2、解锁表 unlock tables 3、无主键的行锁=表锁,因为需要扫描全表 4、锁表如何处理 查看数据库的进程表 show full processlist 查看事物表, trx_mysql_thread_id 这个字段对应的值是需要我们kill的id select* from information_schema.innodb_trx 杀死进程 kill + id 5、查看当前的锁等...

Mysql主从机复制同步(单向、双向、多源)

发布时间:2022-09-15 数据库相关 MYSQL 服务器 数据库
搭建两台Linux虚拟机,并独立安装好mysql,一台做主机,一台做从机,主机上的数据库操作会被自动写入从机 (一)主机到从机单向同步 (1)主机操作 1)执行下面命令,进入配置文档 vim /etc/my.cnf 将以下信息修改到配置表 [mysqld]#开启log-bin二进制日志log-bin=mysql-bin#配置唯一的服务器IDserver-id=1#下面这两个不是必须要配置#主要是为了使用带事务的InnoDB进行复制设置时尽可能提高持久性和一致性innodb_flush_log_at_t...

rust-rocksdb新导出一个函数

导出一个类: 首先用c写一个c的结构,模拟类的操作,也就是c函数的第一个指针是结构体指针,模拟类的this指针。 然后再把c的函数导出到rust 以DB为例: 在librocksdb_sys/crocksdb/c.cc中导出c的函数 struct crocksdb_t { DB* rep;};crocksdb_t* crocksdb_open(const crocksdb_options_t* options, const char* name, cha...

MySQL8.0 新特性 账户与安全

发布时间:2022-09-25 数据库相关 MYSQL 安全 数据库
MySQL8.0 新特性 账户与安全 最近总结一下 MySQL8.0 的新特性,公司项目上 开始正式使用 MySQL8.0 特意花时间看了看MySQL的新特性,学习一下文档,这里进行记录一下吧。 大概 更新如下的内容吧,内容还挺多的,我可能要分几篇文章总结一下。 1 mysql 8.0用户创建和授权 mysql5.7 用户创建 和授权 可以在 一条语句中完成. 通过 grant 授权语句,可以对一个用户创建并且授权。 mysql 8.0 后 用户的创建与授权 是分开 进行的。 select user,...

PGSQL查询最近N天的数据,以及SQL语句实现替换字段内容

目录 1、用SQL查询最近N天的数据 2、用SQL语句实现替换字段里的内容 3、SQL将查询结果赋值 4、SQL查询字段内容为 NULL值时候赋值 具体如下: 1、用SQL查询最近N天的数据 思路:先获取当前的时间,然后更具当前时间去减去对应的天数,就可以得到需要的天数了。然后用这些天数作为条件,然后即可查询出需要多少天的数据了。 -- 获取当前时间SELECT CURRENT_TIMESTAMP;-- 或SELECT now();select CURRENT_TIMESTAMP :: ...

SQL批量给表字段添加随机数,以及PGSQL相关内容

发布时间:2022-09-01 数据库相关 SQL 数据处理 数据库
目录 1、SQL批量给表字段添加随机数 2、PGSQL相关内容 具体内容如下: 1、SQL批量给表字段添加随机数 例如:需要给用户表中填写用户年龄的测试数据: ---- 查询随机数 random()为小数,floor取整,*10为1位数,*100为两位数,其他的以此类推 select floor(random()*100);-- 表示可以取0-99以内的数字 -- 批量更新用户表的年龄,根据姓名修改 update user set age = floor(random()*100) w...

mysql批量插入最大限制

一、前言 我们在操作大型数据表或者日志文件的时候经常会需要写入数据到数据库,那么最合适的方案就是数据库的批量插入。只是我们在执行批量操作的时候,一次插入多少数据才合适呢?假如需要插入的数据有百万条,那么一次批量插入多少条的时候,效率会高一些呢?这里博主和大家一起探讨下这个问题,应用环境为批量插入数据到临时表。   二、批量插入前准备 博主本地原本是循环查出来的数据,然后每1000条插入一次,直至完成插入操作。但是为什么要设置1000条呢,实不相瞒,这是因为项目里的其他批量插入都是一次插1000条。。汗,博...

MySQL8.0 索引优化-invisible index

发布时间:2022-09-25 数据库相关 MYSQL 数据库
MySQL8.0 索引优化-invisible index MySQL8.0 开始支持不可见索引。 优化器根本不使用不可见索引,但会以其他的方式正常维护。 默认情况下 索引是可见的。 通过不可见索引,可以方便数据库管理人员 检查 索引对查询性能的影响,而不会进行破坏性的更改 。 应用场景: 软删除,灰度发布 -- 创建测试表mysql> create table t1(i int ,j int);Query OK, 0 rows affected (0.03 sec)-- 创建索引 mysql&...

Linux-Mysql-crontab 定时调度

发布时间:2022-08-10 数据库相关 MYSQL LINUX 数据库
当我们需要定时去执行存储过程或者指定语句时,可以借用Linux的定时调度。以下以存储过程的调度为例。 1、先创建要执行的存储过程,以下是 数据循环写入表 DELIMITER // -- 定义存储过程结束符,避免因为分号中断create procedure test_pro() begin declare a int default 1;while a <= 5 doinsert into sock.test values(a,'xiaoxiao',concat('xiaoxiao',a));set...

MySQL8.0 降序索引

发布时间:2022-10-09 数据库相关 MYSQL SQL 数据库
MySQL8.0 降序索引 Mysql8.0 开始真正支持降序索引 只有 InnoDB 存储引擎支持降序索引,只支持BTREE 降序索引 MySQL8.0 不再对 GROUP BY 操作 进行隐式排序 数据准备 -- 创建一个表, c1 字段升序索引, c2 降序索引-- Create Table: CREATE TABLE `t2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c1` int(11) DEFAULT NULL, `c2` int(11...

Mysql-创建用户与授权

发布时间:2022-08-11 数据库相关 MYSQL 数据库
一、创建用户 1、查看所有用户和主机名 select user,host from mysql.user 2、创建用户 create user 用户名@'主机名' identified by '密码' 3、修改用户名和主机 rename user '用户名'@'主机名' to '用户名'@'主机名' 4、删除用户 drop user '用户名'@'主机名' 5、创建的用户设置密码有效期为30天 create user 用户名@'主机名' identified by '密码' password expi...

docker安装mysql8.0.21后,连接数据库提示2059

发布时间:2022-10-11 数据库相关 DOCKER 容器系列 数据库 MYSQL
1.错误页面 原因:查阅资料后发现mysql8的加密规则发生了变化,mysql8 之前的版本中加密规则是 mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password. 2.进入容器修改加密规则 因为我的mysql是通过docker容器部署的docker ps:查看容器id dockers exec -it 容器id /bin/bash:进入容器 mysql -u root -p:登录mysql输入密码alter user ‘root’@‘%’ ...

spring-data-jpa的源码初窥

发布时间:2022-10-10 数据库相关 JAVA框架 JAVA HIBERNATE SPRING
本文参考: https://segmentfault.com/a/1190000015047290/ https://www.yisu.com/zixun/596050.html https://zhuanlan.zhihu.com/p/467354104 spring-data-jpa简介 JPA只是一个简化对象关系映射来管理Java应用程序中的关系数据的规范。 它提供了一个平台,可以直接使用对象而不是使用SQL语句。 JPA是一套标准,意味着,它只是一套实现ORM理论的接口。没有实现的代码。...

MySQL8.0 函数索引

发布时间:2022-10-16 数据库相关 MYSQL SQL 数据库
MySQL8.0 函数索引 MySQL8.0.13 开始支持 在索引中使用函数的值 支持降序索引 支持JSON 数据的索引 函数索引基于虚拟列功能实现 创建表与索引 在 t3 表 上建立索引,创建普通索引和函数的索引 CREATE TABLE `t3` ( `c1` varchar(10), `c2` varchar(10));mysql> create index idx_c1 on t3(c1);Query OK, 0 rows affected (0.02 sec)Records: 0...

IobjectJava+Oracle客户端安装

发布时间:2022-09-09 数据库相关 地图 ORACLE
1.概述   后台系统使用超图iobjectJava操作地图,数据库使用的是Oracle,在安装使用期间遇到了不少的坑,在此记录,以免后忘。 2.安装Oracle客户端   先安装oracle客户端,再安装iobjectJava。原因是iobjectjava需依赖oracle客户端的一些组件。 2.1.下载Oracle客户端   我们系统安装的版本是10.2的ZIP压缩包,使用ZIP包的好处是免安装。下载地址:https://www.oracle.com/database/technologies/...

mysql导出数据库mysqldump

发布时间:2022-10-25 数据库相关 MYSQL SQL 数据库
mysql导出数据库mysqldump mysqldump -h IP -u 用户名 -p -d 数据库名 > 导出的文件名 参数解析: -h:表示host地址 -u:表示user用户 -p:表示password密码 -d:表示不导出数据 参考: https://blog.csdn.net/u013626215/article/details/88548342...

我操作MySQL的惊险一幕

发布时间:2022-10-04 数据库相关 MYSQL SQL 数据库
背景 前几天因工作需要,组长给我安排了一个数据清洗的任务。 任务:把 A 表的数据洗到 B 表。 我的第一反应,**什么是「洗」?洗数据是什么?**洗钱我倒是知道。 不过我不能慌啊,于是问了问组长。 我:组长,把 A 表的数据洗到 B 表是什么意思? 组长一脸无奈,手捂住脸,恨铁不成钢,然后调整过来,还是很耐心地跟我讲的,大概意思就是我们现在 B 表需要 A 表的数据, A 表中和 B 表中字段含义一样,但是值可能不一样,这就需要我们进行处理,在将 A 表数据搞到 B 表的过程中,把数据搞正确。 基...

Linux-Mysql安全管理

发布时间:2022-09-15 数据库相关 LINUX MYSQL 安全 DBA SSL
(1)SSL加密 1)查看是否默认支持SSL/TLS协议并且自动生成相关的文件 show variables like '%have_ssl%' 2)查看是否已使用SSL,一般为未使用 status 3)使用指定网络协议方式进行登录,仅限在当前会话 mysql -u root -p -hlocalhost --protocol=tcp 4)此时SSL已采用tcp的加密算法 status 5)查看当前支持的加密算法 show session status like '%...

Linux-Mysql备份/数据库迁移~持续更新

发布时间:2022-11-08 数据库相关 MYSQL LINUX 数据库
(一)备份方式 热备份:允许应用程序完全访问数据,不影响数据库读写 冷备份:不允许应用程序完全访问数据,数据库需要停止 温备份:允许应用程序读取数据,但不能修改 (二)备份策略 (1)物理备份 对数据库文件直接拷贝打包 (2)mysqldump逻辑备份 使用 mysqldump 逻辑备份工具,对数据库或表 生成sql文件进行备份 1)表备份 ① 将指定数据库的表备份到指定sql文档里 mysqldump -u 用户名 -p 数据库名 表名 > 写入的文件名.sql #如:mysqldump ...

Mysql数据库面试题总结(2022版)

标题地址Java虚拟机面试题总结(2022版)https://blog.csdn.net/qq_37924396/article/details/125881033Java集合面试题总结(2022版)https://blog.csdn.net/qq_37924396/article/details/126058839Mysql数据库面试题总结(2022版)https://blog.csdn.net/qq_37924396/article/details/125901358Spring面试题总结(2022版...

SQL Server行转列

发布时间:2022-09-26 数据库相关 MYSQL SQL 数据库
– 创建表数据 CREATE TABLE #test ( id INT IDENTITY ( 1, 1 ) NOT NULL, name VARCHAR ( 255 ) NULL ) – 插入数据 INSERT INTO #test ( name )VALUES ( ‘张三,李四,王五’ ); SELECT id, SUBSTRING ( a.name, number, CHARINDEX( ‘,’, a.name + ‘,’, number ) - number ) AS name FROM #test...

Linux-Mysql创建多实例

发布时间:2022-09-15 数据库相关 LINUX 数据库 MYSQL DBA
(一)创建数据库实例 此为数据库内的操作 create database 数据库实例名称 (二)创建多服务实例 多实例是在一个服务器中配置多个Mysql服务端口,启动了多个Mysql服务。配置多实例时,每个实例的端口、配置文件和数据目录、socket还有日志都需要独立出来,但是共用一个MySQL软件。 实例之间的所有数据都是独立的,也就是说,在不同实例下进行的数据库操作不会互相影响。 (1)创建多实例 1)新建多实例所需要的数据目录 mkdir -p /data/3307/data mkdi...

mysql使用循环语句

发布时间:2022-11-04 数据库相关 MYSQL SQL 数据库
背景 有500条数据需要插入db,这500条数据如下 mailtypeprovidertzjsmf1@qq.com0tencenttzjsmf2@qq.com0tencenttzjsmf3@qq.com0tencent…0tencenttzjsmf500@qq.com0tencent可以看到只有mail字段有区别,且数字为依次递增,所以可以使用mysql循环语句进行插入。 解决方案 delimiter // #定义标识符为双斜杠drop procedu...

redshift 时间查询 加减n小时(分钟)统计

发布时间:2022-09-05 数据库相关 REDSHIFT 数据库
问题描述 我们自己的数据库的时区是UTC+0 ,但是客户的是UTC+8, 月底对账单的时候,会有每天八小时的误差。 所以我们要按照 UTC + 8 给出账单, 是要把数据库中的查询时间加上八小时 统计时减去八小时统计, 因为 UTC+0的第二天前八小时的数据,是UTC+8的第一天末尾的数据 WITH mtdetailC AS ( SELECT M.price, dateadd(hour,'-8',M.receiveTime) :: DATE as receiveTimeDay F...

oracle 表空间相关介绍及操作

发布时间:2022-11-16 数据库相关 数据库 DBA ORACLE
创建表空间 CREATE TABLESPACE gbcx DATAFILE ‘D:\oracle_db\product\11.2.0\sjjgpt\GBCX.dbf’ SIZE 10M AUTOEXTEND ON NEXT 20M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ; 创建用户 – Create the user create user GBCX default tablespace ...

oracle删除表空间、用户

发布时间:2022-11-07 数据库相关 数据库 DBA ORACLE
表空间 --删除空的表空间,但是不包含物理文件drop tablespace tablespace_name;--删除非空表空间,但是不包含物理文件drop tablespace tablespace_name including contents;--删除空表空间,包含物理文件drop tablespace tablespace_name including datafiles;--删除非空表空间,包含物理文件drop tablespace tablespace_name including co...

Spring Boot 使用 HikariCP 连接池配置详解

发布时间:2022-11-10 数据库相关 MYBATIS MYSQL SPRING BOOT JAVA
Spring Boot 使用 HikariCP 连接池配置详解 HikariCP 是一个高性能的 JDBC 连接池组件。 Spring Boot 2.x 将其作为默认的连接池组件,项目中添加 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa 模块后,HikariCP 依赖会被自动引入。 快速使用 1)在你的 Spring Boot 项目中添加依赖配置: <dependency> <groupId>org.sprin...

mysql“数据不存在插入,存在则更新”实现

发布时间:2022-11-17 数据库相关 JAVA MYSQL 数据库
参考文章:Mysql:如果数据存在则更新,不存在则插入 场景 工作中有遇到需要配置一些指定的字段数据,但数据量大,不清楚之前是否有配置过,正确的思路应该是如果有这条数据了,那么更新数据的值,如果没有这条数据,那么应该插入一条数据。 比如需要根据不同国家进行不同功能的开启或者关闭,表结构如下: CREATE TABLE `region_config_info` ( `id` varchar(64) NOT NULL, `create_time` bigint(20) DEFAULT NULL CO...

Spring Boot 使用 Druid 连接池详解

发布时间:2022-11-11 数据库相关 JAVA MYSQL SPRING BOOT
Spring Boot 使用 Druid 连接池详解 Alibaba Druid 是一个 JDBC 组件库,包含数据库连接池、SQL Parser 等组件,被大量业务和技术产品使用或集成,经历过严苛的线上业务场景考验,是值得信赖的技术产品。Druid Spring Boot Starter 用于帮助你在 Spring Boot 项目中轻松集成 Druid 数据库连接池和监控。 https://github.com/alibaba/druid 快速使用 1)在你的 Spring Boot 项目中添加依赖配置...

DBA-Mysql-常用命令、常用操作

发布时间:2022-08-13 数据库相关 MYSQL DBA 数据库
1、查询所有的数据库 show databases 2、使用指定数据库 use databases 3、查询该数据库下的所有表 show tables 4、查看 innodb 存储引擎相关信息 show engine innodb status\G 5、查看并关闭执行语句 (1)查看当前正在执行的sql语句及其id、状态等信息 show processlist (2)根据id值,杀死语句 kill id 6、查看mysql的数据文件路径 show variables like '%datadir%'...

InnoDB与MyISAM的区别

发布时间:2022-10-16 数据库相关 JAVA SQL 数据库
InnoDB支持事务,MyISAM不支持,对于InnoDB每一条SQL语言都默认封装成事务,自动提 交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务;InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败;InnoDB是聚集索引,数据文件是和索引绑在一起的,必须要有主键,通过主键索引效率很高。但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该过大,因为主键太大,其他索引也都会很大。而MyIS...