1. 首页
  2. 资讯

数据库如何联网

SQL数据库如何优化?面试的时候经常会文档一些SQL方面的问题,比较常见的面试题例如“什么时候回造成索引失效?”,又或者“你经常做的SQL优化的工作有哪些?”下面,我就介绍几个有关S

SQL数据库如何优化?

面试的时候经常会文档一些SQL方面的问题,比较常见的面试题例如“什么时候回造成索引失效?”,又或者“你经常做的SQL优化的工作有哪些?”


下面,我就介绍几个有关SQL优化的知识点。


  • 负向条件查询不能使用索引:包括!=、not in、not exists都尽量不要使用;

  • %在前面的模糊查询:where name like '%xxx';

  • 等号左边有函数:where upper(str) = '...',就算str字段有索引,这个写法也不会走索引;

  • 数据区分度不大的字段,不要建索引:例如性别男、女、为止,这种就不适合建立索引;

  • 隐式转换:where tel = 13800000000,如果tel字段是varchar类型,这个写法不会报错,但是会索引失效;

  • 只返回需要的数据:select name,gender from users 优于 select * from users;

  • 允许为Null的列,有风险:比如 where name != 'Tom',如果name允许为Null,索引不储存Null值,结果集不包含这些记录;因为索引不存储Null值,所以is null也不会走索引;

  • 如果业务大部分是单条记录查询,那么Hash索引效率更高

  • 复合索引最左前缀:(name,gender)复合索引,where name=xx and gender =x 可以命中,where name=xx可以命中,where gender =x不能命中。


我会持续分享Java程序开发、架构设计、职业发展等方面的知识和见解,希望能得到你的关注今日头条,转载请注明出处。

数据库分库如何做?

建议使用mycat进行分库分表,具体技术可以到网络下载或者回复交流。这个是目前测试过的kingshard, shardingjdbc,mycat三个中,效率最高的,随时交流

苹果手机如何关闭wifi联网?

这种毫无讨论价值的问答有用?已举报

如何优化数据库?

数据库性能优化:系统CPU,内存,磁盘存储,系统参数,以oracle为例,数据库SGA,PGA,Process,cursor,session等参数设置优化。对于数据库SQL优化,首先要规范sql写法,索引建立,数据生命周期管理等。何以解忧,唯有读书和实践。

总结几点:

1.善用explain,看看自己写的sql到底要涉及到多少表,多少行,使用了那些索引,根据这些信息适当的创建索引,适当建立索引,在频繁作为检索条件,更新较少的字段上建立索引,以提高查询速度。;

2.善用不同的存储引擎,MySQL有多种不同的存储引擎,InnoDB,Aria,MEMORY根据需要给不同的表选择不同的存储引擎,比如要支持transaction的话用InnoDB等;

3.表很大的时候,做分片,分表查询,有水平分割、垂直分割。

4.读写分离,读(read)、写(create、update、delete)。

5.建立存储过程。

6.表的设计要规范,即要符合数据库设计三范式。

针对mysql的性能优化:

1:首先应该优化你的SQL语句。开启慢查询,通过慢查询日志发现有问题的SQL语句,通过explain查询分析SQL的执行计划;针对limit、groupby优化

2:索引优化。选择合适的列建立索引,一般在where从句,on从句等;维护索引,去掉重复索引 ,如 primary key 不要在加上唯一索引了;

3:数据库的优化。选择合适的数据类型,范式优化和反范式优化(已空间换时间),垂直切分和水平切分,水平切分我基本没用到,考验技术水平

4:然后就是系统配置和硬件优化,硬件优化当然就是钱啦。

最好是在一个尽可能小的表上做一个尽可能简单的操作读取尽可能少的结果。

如何阻止sw联网?

用360安全卫士禁止sw软件联网的步骤:

1、打开360安全卫士软件,点击右下角的“更多”按钮。

2、在“更多”里面,找到流量防火墙并打开。

3、在流量防火墙里找到需要禁止的软件并选定,右击鼠标,选择禁止访问网络。这样被禁止的软件就不能再访问网络了。

提示:在执行这些步骤之前记得把需要禁止联网的软件打开运行起来。

本文来自投稿,不代表本站立场,如若转载,请注明出处。