• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

风子sama

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

MySql数据库优化方法

SQL 优化

1、查询语句中不要使用select *

2、尽量减少子查询,使用关联查询( left join,right join,inner join)替代

3、减少使用IN或者NOT IN ,使用exists , not exists或者关联查询语句替代

4、or的查询尽量用union或者union all代替(在确认没有重复数据或者不用剔除重复数据时,unionall会更好)

5、应尽量避免在where子句中使用!=或◇操作符,否则将引擎放弃使用索引而进行全表扫描。

6、应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null可以在num上设置默认值О,确保表中num列没有null值,然后这样查询: select id from t where num=0

52、MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?

1、设计良好的数据库结构,允许部分数据冗余,尽量避兔join查询,提高效率。

2、选择合适的表字段数据类型和存储引擎,适当的添加索引。

3、MySQL库主从读写分离。

4、找规律分表,减少单表中的数据量提高查询速度。

5、添加缓存机制,比如 memcached , apc等。

6、不经常改动的页面,生成静态页面。

7、书写高效率的SQL。比如SELECT* FROM TABEL改为SELECT field_1,field_2, field_3 FROMTABLE.

优化数据库的方法

1、选取最适用的字段属性,尽可能减少定义字段宽度,尽量把字段设置NOTNULL,例如'省份'、性别'最好适用ENUM

2、使用连接(JOIN)来代替子查询

3、适用联合(UNION)来代替手动创建的临时表4、事务处理

5、锁定表、优化事务处理

6、适用外键,优化锁定表

7、建立索引

8、优化查询语句

说说对SQL语句优化有哪些方法?(选择几条)

1、Where子句中: where表之间的连接必须写在其他Where条件之前,那些可以过滤掉最大数量记录的条件必须写在 Where子句的未尾.HAVING最后。

2、用 EXISTS替代IN、用NOT EXISTS替代NOT IN。

3、避免在索引列上使用计算

4、避免在索引列上使用IS NULL和IS NOT NULL

5、对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by涉及的列上建立索引。

6、应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描

7、应尽量避免在where子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描

简单说一说drop.delete与truncate的区别

SQL中的drop、delete、truncate都表示删除,但是三者有一些差别delete和truncate只删除表的数据不删除表的结构

速度,一般来说: drop> truncate >delete

delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;

如果有相应的trigger,执行的时候将被触发. truncate,drop是ddl,操作立即生效,原数据不放到rollbacksegment中,不能回滚.操作不触发trigger

什么是视图

视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询

什么是内联接、左外联接、右外联接?

内联接(Inner Join ):匹配2张表中相关联的记录。

左外联接(Left OuterJoin ):除了匹配2张表中相关联的记录外,还会匹配左表中剩余的记录,右表中未匹配到的字段用NULL表示。

右外联接(Right Outer Join ):除了匹配2张表中相关联的记录外,还会匹配右表中剩余的记录,左表中未匹配到的字段用NULL表示。

在判定左表和右表时,要根据表名出现在Outer Join的左右位置关系

posted on 2021-09-29 10:40  风子sama  阅读(208)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3