首页 > 数据库 >Mysql优化

Mysql优化

时间:2023-03-13 15:14:18浏览次数:37  
标签:登录 Mysql 查询 索引 mysql 速度 默认值 优化

1,表设计一定要优化,冗余数据最少,少用连接查询。如果在实际应用中,使用了极其复杂的连接,子查询,则数据表的设计得要重新考虑了。

2,尽量用char而不是varchar,因为固定长度得string用起来更快.在当今硬盘容量越来越大的情况下,牺牲点存储空间而换得查询速度得提升是值得的。

3,通过简化权限来提高查询速度。如果一个查询之前要执行很多权限验证,则查询速度会慢下来,不妨试着在mysql中用root登录与用你新建的有权限控制的用户登录的速度,就可以看出来了,root登录,一下子就进入了,而普通用户登录,总会延迟一下。

4, 表的优化。如果一个表已经用了一段时间,随着更新和删除操作的发生,数据将会变得支离破碎,这样同样会增加在该表中进行物理搜索所花费的时间。你要知道的是,在mysql底层设计中,数据库将被映射到具有某种文件结构的目录中,而表则映射到文件。所以磁盘碎片是很有可能发生的。庆幸的是,在mysql中,我们可以通过下面的语句进行修复:
optimize table tablename

myisamchk -r tablename

5,使用索引,可以在需要提高查询速度的地方使用索引,简化索引,不要创建查询不使用的索引。可通过运行explain命令分析后决定.

6,使用默认值,在尽可能的地方使用列的默认值,只在与默认值不同的时候才插入数据。这样可以减少执行insert语句所花费的时间

标签:登录,Mysql,查询,索引,mysql,速度,默认值,优化
From: https://www.cnblogs.com/yyd-sun/p/17211451.html

相关文章

  • [转]mysql问题解决SELECT list is not in GROUP BY clause and contains nonaggregate
    原文地址:mysql问题解决SELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn-慕尘-博客园(cnblogs.com)今天在Ubuntu下的部署项目,发现一些好......
  • MySQL当中between的边界问题
    between边界:闭区间,notbetween边界:开区间日期边界问题,如:'2023-03-1012:00:00','2023-03-1312:00:00'如果用between '2023-03-10' and '2023-03-13' ,这样'2023-......
  • 16条MySQL使用规范
     1.禁止使用select*阿里开发规范中,有这么一句话:**select***会查询表中所有字段,如果表中的字段有更改,必须修改SQL语句,不然就会执行错误。查询出非必要的字段,徒增......
  • 单页应用优化--权限
    前段时间,撰写过“​​单页应用优化–懒加载​​”的问题,这篇我们描述一下单页应用的另外一个问题权限。提起权限,一般会涉及如下几种情况:应用使用权【登录】页面级别权限【......
  • mysql优化策略
    1看一下能不能加缓存解决,是不是周期性的卡顿,是否需要调整缓存失效策略2开启慢查询日志,看看是sql执行的时间长还是sql等待的时间长查看慢查询日志setgloballong_que......
  • 非线性优化问题基本形式概述
    非线性优化问题以及在视觉SLAM中的应用1.0最小二乘基础概念定义\(\quad\)找到一个n维的变量\(\mathbf{x}^{*}\in\mathbb{R}^{n}\),使得损失函数\(F(\ma......
  • 7.mysql定时删除60天前的数据
    1.查看even_schedule是否开启,如果没开启,使用下面命令开启,阿里云服务器需要在管理后台开启SETGLOBALevent_scheduler=ON; 2.创建PROCEDURE存储过程DROPPROCEDUREIF......
  • vue常见的优化手段
    前提:永远不要过早地优化,仅在影响运行、卡的不行的时候才优化[参考]代价:代码会变得难以阅读,开发难度增大使用key对于通过循环生成的列表,应给每个列表项一个稳定且唯一......
  • MySQL模糊查询like优化方案
    索引失效的解决方案在MySQL中,模糊查询肯定要使用LIKE关键字,然后再加%,是代表前模糊还是后模糊。数据量小的情况下,不容易看出查询的效率,但是数据量达到百万级,千万级甚......
  • 傻瓜式Java操作MySQL数据库备份(使用mysqldump命令)
    傻瓜式Java操作MySQL数据库备份(使用mysqldump命令)注释都是由chatGPT生成,有什么问题可以评论交流@Value("${backup.sql.database}")privateStringdatabases;......