
mysql
Mr_know
这个作者很懒,什么都没留下…
展开
-
数据库性能调优
mysql数据库的优化os + 库1、 磁盘io比较高磁盘、磁盘空间比较大2、 os: linuxos本身就有一些限制ulimit 打开文件数量,操作系统可以运行最大进程+线程数ulimit -a:查看系统的全部信息ulimit -n: 查看最大的文件数量,一般设置为16000uimit -u:查看最大的进程和线程数库本身配置参数查看数据库的配置参数:show variables;修改这些参数:1、set gloable 参数名=参数值2、修改配置文件原创 2022-03-14 17:21:29 · 2139 阅读 · 0 评论 -
mysql--视图
一、介绍及基本语法1、介绍2、语法create [or replace] view 试图名称 as select 语句select语句也可以从一个视图里面进行查询二、视图检查选项1、 with cascaded check option语句检查当前视图以及依赖的视图的条件查询(不管是否有视图检查条件)解释:向视图v1中添加数据时不需要判断,id<=20,因为没有检查选项(黄色表示没有添加)向视图v2中添加数据时需要判断,20>= id >=10向视图v原创 2022-03-08 17:05:45 · 217 阅读 · 0 评论 -
SQL优化
一、插入数据优化1、insert优化批量插入手动提交事务start transaction;insert 语句;insert 语句;commit;主键顺序插入大批量插入数据(load指令) load data local infile '/root/sql.log' into table 'tb_user' fields terminated by ',' lines terminated by '\n''/root/sql.log':导入的数据文件路径'tb_u原创 2022-03-08 15:42:29 · 215 阅读 · 0 评论 -
索引的使用
索引的使用原则:1、最左前缀法则(针对于联合索引查询)创建的索引:create index idx_user_pro_age_sta ON tb_user(profession,age,status);查询语句:运用explain命令可以查看以上查询是否用到索引:第一、二、三条:几个字段都用到索引第四、五个:就没有用索引去查导致结果:查看explain中type字段,可以看到性能比较低2、范围查询优化:用>=、<=代替>、<3、索引列运算前提:phon原创 2022-03-04 19:18:07 · 6460 阅读 · 0 评论 -
mysql性能分析命令
1、查看SQL执行频率2、慢查询日志3、profile详情4、explain执行计划运用explain命令查看执行查询语句时,表是如何连接以及连接顺序重点关注字段:type、possible_key、key、key_len字段type字段:1、const:表示主键或者唯一索引进行查询时2、eq_ref:3、ref:非唯一性索引进行查询4、range:5、index:用了索引,但是全部索引进行查询6、all:全表遍历查询...原创 2022-03-04 17:19:20 · 327 阅读 · 0 评论 -
mysql-索引
一、索引的结构1、索引概述为了提高查询数据的速度’但是会减低插入更改的速度、消耗一定的磁盘2、索引结构主要关注第一种,支持B+树索引3、Btree 索引4、B+Tree索引mysql中B+Tree的存储结构5、Hash索引6、为什么InnoDB存储引擎选择使用B+Tree索引结构?二、索引分类再InnoDB存储引擎中,根据索引的存储形式,分为根据聚集索引查询:查询的数据为一行数据 根据二级索引查询:查询的数据为主键数据三、索引语法创建索引create [un翻译 2022-03-03 20:34:01 · 111 阅读 · 0 评论 -
多表查询练习
多张表进行连接查询步骤,1、先找到需要查询的表2、分开查找连接条件,多个连接条件使用and连接3、 查询条件,直接跟在where的连接条件后面,用and连接示例1:1、查询“研发部”所有员工的信息及工资等级涉及的表:emp(员工表)、salgrade(薪资等级表)、dept(部门表)连接条件:emp.salary between salgrade.losal and salgrade.hisal emp.dept_id=dept.id查询条件:dept.name="研发部"sql第一步:原创 2022-03-02 17:39:33 · 481 阅读 · 0 评论 -
SQL-DQL(查询)
DQL-语法:编写顺序:1、聚合函数:2、分组查询(Group by )示例:查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址Select workdress,count(*) from emp where age <45 group by workdress having count(*)>=3;3、排序查询(order by)4、分页查询(limit)查询第二页数据,每页10条数据:select * from emp limit 10翻译 2022-03-01 14:53:29 · 287 阅读 · 0 评论