SQL的一些技巧和优化

一、使用通配符技巧

1、不要过度使用通配符,如果其他操作符能达到相同的目的,应该使用其他其他操作符。

2、在确实需要使用通配符时,除非绝对必要,否则不要把他们用在搜索模式的开始处,把通配符置于搜索模式的开始处,搜索起来最慢。

3、注意通配符的位置。如果放错位置,可能不会返回想要的数据

二、使用in的一些优点

1、语法清楚且更直观

2、计算的次序更容易管理(因为使用的操作符更少)

3、in操作符一般比or操作符执行要快

4、in可以包含其他select语句,能够动态的建立where子句

三、group by的一些注意

1、group by子句可以包含任意数目的列。这使得能对分组嵌套,为数据分组提供更细致的控制。

2、如果在group by子句中嵌套了分组,数据将在最后规定的分组上进行汇总。换句话说,在建立分组时,指定的所有列都一起计算(所以不能从个别的列取回数据)。

3、group by 子句中列出的每个列都必须是检索列或者有效表达式(但是不能是聚集函数)。如果在select这种使用表达式,则必须在group by子句中指定相同的表达式。不能使用别名。

4、除聚集计算语句外,select语句中的每个列都必须在group by子句中给出。

5、如果分组中由NULL值,则NULL将作为一个分组返回。如果列中有多个NULL值,它们将分为一组。

6、group by子句必须出现在where子句之后,order by子句之前。

四、联结表时where子句的重要性

where子句作为过滤条件,它只包含那些给定条件(这里指联结条件)的行。如果没有where子句,第一个表中的每一行将与第二个表中每一行配对,而不管它们逻辑上是否可以在一起。(也就是笛卡尔积)

五、union的规则

1、union必须由两条或两条以上的select语句组成,语句之间用关键字union分隔(因此要是4条select语句,将使用3 个union关键字)。

2、union中的每个查询必须包含相同的列,表达式或聚集函数(不过各个列不需要以相同的次数列出)

3、列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型(例如,不同的数值类型或不同的日期类型)。

3、union从查询结果集中自动去除了重复的行(如果需要匹配所有行则使用union all)

根据原作 https://pan.quark.cn/s/0ed355622f0f 的源码改编 野火IM解决方案 野火IM是专业级即时通讯实时音视频整体解决方案,由北京野火无限网络科技有限公司维护支持。 主要特性有:私有部署安全可靠,性能强大,功能齐全,全平台支持,开源率高,部署运维简单,二次开发友好,方便与第三方系统对接或者嵌入现有系统中。 详细情况请参考在线文档。 主要包括一下项目: 野火IM Vue Electron Demo,演示如何将野火IM的能力集成到Vue Electron项目。 前置说明 本项目所使用的是需要付费的,价格请参考费用详情 支持试用,具体请看试用说明 本项目默认只能连接到官方服务,购买或申请试用之后,替换,即可连到自行部署的服务 分支说明 :基于开发,是未来的开发重心 :基于开发,进入维护模式,不再开发新功能,鉴于已经终止支持且不再维护,建议客户升级到版本 环境依赖 mac系统 最新版本的Xcode nodejs v18.19.0 npm v10.2.3 python 2.7.x git npm install -g node-gyp@8.3.0 windows系统 nodejs v18.19.0 python 2.7.x git npm 6.14.15 npm install --global --vs2019 --production windows-build-tools 本步安装windows开发环境的安装内容较多,如果网络情况不好可能需要等较长时间,选择早上网络较好时安装是个好的选择 或参考手动安装 windows-build-tools进行安装 npm install -g node-gyp@8.3.0 linux系统 nodej...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值