mysql创建索引的三种方式
在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引。1、使用CREATE INDEX创建,语法如下:CREATE INDEX indexName ON tableName (columnName(length));例如我们对ip_address这一列创建一个长度为16的索引:CREATE INDEX index_ip_addr ON t_user_action_log (ip_address(16));2、使用ALTER语句创建,语...
2024-01-10mysql执行计划explain
1、说明用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采...
2024-01-10mysql有哪些建立索引的方法
1、最左前缀匹配原则,非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。2、=和in可以乱序,比如a = 1 and b = 2 and c = 3 建...
2024-01-10MySQL中joinbuffer是什么
说明1、在MySQL对于join操作的处理过程中,join buffer是一个重要的概念。2、是MySQL对于table join的一个重要的优化手段。虽然这个概念实现并不复杂,但是这个是实现MySQL join连接优化的一个重要方法,在连接的时候可以极大提高join查询的效率。实例Table name Typet1 ranget2 ...
2024-01-10mysql存储过程是什么
说明1、一组预先编译好的SQL语句的集合,理解成批处理语句。2、可以提高代码的重用性、简化操作、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率。创建语法 CREATE PROCEDURE 存储过程名(参数列表) BEGIN 存储过程体(一组合法的SQL语句) END注意1、参数...
2024-01-10mysql中自定义变量有哪些
1、用户变量,作用域:针对于当前会话(连接)有效,作用域同于会话变量声明并初始化:赋值操作符:=或:=SET @变量名=值;SET @变量名:=值;SELECT @变量名:=值;2、局部变量,作用域:仅仅在定义它的begin end块中有效 应用在 begin end中的第一句话声明:declare: 声明DECLARE 变量名 类型;DECLARE 变量名 类...
2024-01-10mysql中系统变量的两种类型
1、全局变量,作用域:针对于所有会话(连接)有效,但不能跨重启查看所有全局变量SHOW GLOBAL VARIABLES; 查看满足条件的部分系统变量SHOW GLOBAL VARIABLES LIKE '%char%'; 查看指定的系统变量的值SELECT @@global.autocommit; 为某个系统变量赋值SET @@global.autocommit=0;SET GLOBAL autocommit=0;2、会话变量,作...
2024-01-10mysql中SQL的概念介绍
1、SQL是结构化查询语言。DML 数据操纵语言 用来操作数据库中所包含的数据 INSERT UPDATE DELETE DDL 数据定义语言 用于创建和删除数据库对象等操作 CREATE DROP ALTER DQL 数据查询语言 用来对数据库中的数据进行查询 SELECT DCL 数据控制语言 用来控制数据库组件的存取许可、存取...
2024-01-10mysql主键约束的设置
说明1、在定义完列之后直接使用 UNIQUE关键字指定唯一约束。UNIQUE 和 PRIMARY KEY 的区别:一个表可以有多个字段声明为UNIQUE,但只能有一个 PRIMARY KEY声明。2、声明为PRIMAY KEY的列不允许有空值,但是声明为UNIQUE 的字段允许空值的存在。实例mysql> CREATE TABLE demo_department -> ( -> id INT(11) PRIMARY...
2024-01-10mysql有哪些数据操作
1、读取数据select * from tb1;select count(*) from tb1; #获取数据库条数 count(1)效果相同,效率更高2、插入数据INSERT INTO table_name ( field1, field2,...fieldN )VALUES( value1, value2,...valueN );3、更新数据UPDATA tb1 SET name='li' where id=3;UPDATA tb1 SET name=default where id=2; #将名字赋...
2024-01-10