mysql优化

索引的存储分类

MyISAM存储引擎的表的数据和索引时自动分开储存的。各自是一个独立的文件
Inodb 存储引擎的表的结构和索引都是存储在一个表的空间里。但可以有多个文件组成

mysql目前不支持函数索引
mysql如何使用索引
索引用于快速找出在某个列中有一特定值的行。对相关列使用索引时提供select操作性能的最佳途径

索引使用

使用like的查询   索引模糊尽量把 % 放到后面。

select *from t2 where name like “%aa”(用不到索引)

select *from t2 where name like “aa%” (使用索引)

使用and 或者or查询的时候。两端最好都加上索引字段

当该字段类型和该字段的值不匹配的时候,不适用索引

查看索引使用过的情况

show status like ‘handler_read%’

查看索引被读的次数

handler_read_end_next 数字越大。说明需要使用索引优化

优化group by语句

如果使用group by 但用户要避免排序结果的损耗,则可以使用order by null 来禁止排序

数据表的优化

检查数据表

check table tb_name

修复数据表(碎片整理)

optimize table tb_name

数据库的优化

1.优化表的类型

2.通过拆分提高表的访问效率

3.使用中间表提高统计查询速度

数据库服务器的优化

四种字符集尽量选用utf8

character-set-server=utf8

default-character-set=utf8

collation-server=utf_general_ci(字符集校验)

开启bin-log日志

my.cnf

log-bin =mysql-bin #开启mysql bin  log日志

开启慢查询日志

show variables like “%slow%”
[mysqld]
log_slow_queries=slow.log
long_query_time = 2(慢查询的时间)

 socket丢失的问题

socket=/tmp/mysql.sock
通过tcp 临时登录
mysql-uroot -proot --protocol tcp -hlocalhost

root 密码的破解

1.跳过授权表
mysqld_safe --skip-grant-tables --user=mysql &
2.使用没有密码的root登录
mysql -uroot
3.更改密码
update mysql.user set password=password(“new password”)

 

posted @   闲云-野鹤  阅读(274)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示