`

mysql之高效sql注意

 
阅读更多

今天扯淡下我们写sql应该注意些什么,欢迎拍砖,互相学习!!!

 

注意点说明:

1.全值匹配最好

2.最左前缀法则,如果索引了多列,要遵循最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列

3.不在索引列上做任何操作(计算、函数、自动或手动类型转换),会导致索引失效而转向全表扫描

4.范围条件右边的条件无法使用索引


 

5.尽量使用覆盖索引(只访问索引的查询,索引列和查询列一致),减少select *


 

6.使用 !=或<> 无法使用索引会导致全表扫描


 

7.is null,is not null 也无法使用索引


 

8.like以%开头,索引失效会变成全表扫描。解决:开头不用%可使用索引


 

9.字符串不加单引号索引失效变成全表扫描


 

10.少于or,用他会索引失效


 

针对以上注意的检测题


 

小表驱动大表,即小的数据集驱动大的数据集

select * from A where id in (select id from B)

当B表的数据集小于A表的数据集时,用in优于exists

select * from A where exists (select 1 from B where B.id = A.id)

当A表的数据集小于B表的数据集时,用exists优于in

 

 order by 和where都满足左前缀法则。 组合索引( age,birth)     这样的查询sql会引起文件排序 select * from a order by age asc,birth desc ,为什么呢?答:升降机累不累?
  • 大小: 383.9 KB
  • 大小: 36.9 KB
  • 大小: 25.2 KB
  • 大小: 13 KB
  • 大小: 61.3 KB
  • 大小: 12.3 KB
  • 大小: 36.9 KB
分享到:
评论

相关推荐

    SQL Server数据库数据转MySQL工具

    而MySQL则是开源、免费的RDBMS,被广大开发者和小型企业所青睐,因为它提供了高效的性能和较低的运行成本。 数据库转换的过程涉及到多个步骤和注意事项: 1. **数据结构映射**:SQL Server和MySQL的数据库结构可能...

    SQL Server转换为MySQL工具

    这个工具的主要功能就是帮助用户高效、准确地将SQL Server中的数据和结构迁移到MySQL数据库中。以下将详细介绍这个过程涉及的关键知识点: 1. 数据库结构迁移:在转换过程中,工具会分析SQL Server的表结构,包括...

    mysql 安装 导出SQL

    ### MySQL安装与SQL数据导出及Tomcat部署模式详解 #### MySQL安装步骤 MySQL作为一款广泛使用的开源关系型数据库管理系统,在各类应用场景中扮演着至关重要的角色。为了更好地理解和操作MySQL,我们首先需要了解...

    mysql数据库sql优化

    ### MySQL数据库SQL优化 #### 一、SQL优化 在MySQL数据库管理中,SQL查询的性能直接影响到系统的响应时间和资源消耗。通过合理的SQL优化,可以显著提高数据处理速度,降低服务器负载,提升用户体验。 ##### 1.1 ...

    《Effective MySQL之SQL语句最优化》数据库SQL

    《Effective MySQL之SQL语句最优化》是一本深入探讨如何提升数据库性能,特别是针对SQL查询进行优化的专业书籍。在数据库管理中,SQL语句的优化是至关重要的,它直接影响到系统的响应速度和整体效率。本篇文章将依据...

    MySQL迁移SQLServer工具

    总之,SSMA for MySQL是一款强大的数据库迁移工具,它可以帮助企业在面临技术升级或平台转换时,高效、平稳地完成MySQL到SQL Server的迁移工作。通过了解其工作原理和注意事项,可以确保迁移过程的成功并减少潜在的...

    Sqlserver2mysql

    注意两者之间的语法差异,例如SQL Server的T-SQL与MySQL的SQL标准语法。 3. **数据转换**:使用工具如`mss2sql`(可能是指某种数据迁移工具或脚本),它可以帮助我们将SQL Server的数据导出为可被MySQL导入的格式。...

    SQLSERVER转MYSQL工具 mss2sql

    值得注意的是,虽然mss2sql工具可以大大简化迁移过程,但并不能完全自动化所有步骤。例如,有些特定的SQL Server特性和函数在MySQL中可能没有直接对应,因此在迁移前后可能需要对数据库设计进行一定的调整。此外,...

    Mysql转Sqlserver.rar

    《MySQL到SQL Server数据库迁移与前端模板应用》 在当今数据驱动的世界中,数据库系统的选择对应用...在实际应用中,务必注意数据安全,合理规划迁移策略,同时充分利用前端模板的优势,打造高效、友好的应用程序。

    ogg sqlserver-oracle mysql-oracle mysql-mysql的同步配置参考

    在本配置参考中,我们将探讨如何使用Oracle GoldenGate(简称OGG)来实现SQL Server到Oracle,MySQL到Oracle以及MySQL到MySQL的同步配置。 1. SQL Server到Oracle的同步配置: - 首先,你需要在SQL Server上安装并...

    navicat for mysql执行sql脚本细节

    本文将详细介绍在Navicat for MySQL中执行SQL脚本时需要注意的关键细节,帮助开发者更好地理解和掌握这一过程。 #### 二、Navicat for MySQL执行SQL脚本的基本流程 在Navicat for MySQL中执行SQL脚本通常包括以下...

    基于Mysql数据库的SQL优化

    ### 基于Mysql数据库的SQL优化 #### 一、表结构设计原则与存储引擎选择 ##### 1.1 表结构设计原则 - **选择合适的数据类型**:尽量选择固定长度的数据类型,例如使用`INT`而非`VARCHAR`来存储数字型数据,这有助...

    SQL server数据库转 MySQL数据库

    而MySQL则以其开源、轻量级、高效的特点,成为许多Web应用的首选,它使用的是SQL方言。 2. **转换原因** 转换SQL Server到MySQL可能出于成本优化(MySQL免费开源)、性能需求(MySQL在某些场景下更快)、或者是...

    Mysql 2 Sql Server2008数据库迁移工具

    MySQL是一个开源的关系型数据库管理系统,以其高效、易用和免费而受到欢迎。SQL Server 2008是微软提供的一个企业级DBMS,具有高级功能,如强大的事务处理能力、集成的服务和安全性。 3. **迁移工具的功能**: 这...

    C#在MySQL大量数据下的高效读取、写入详解

    注意MySQL对单个命令大小的限制,可通过`max_allowed_packet`属性调整。 ```csharp // 使用StringBuilder高效拼接字符串 var sqlBuilder = new StringBuilder(); // 添加insert 语句的头 string sqlHeader = ...

    不进入mysql 就能导入sql脚本的方法

    在IT行业中,数据库管理是至关重要的任务之一,MySQL作为一款广泛应用的关系型数据库管理系统,其数据导入和导出操作是日常维护的重要环节。标题提到的“不进入mysql就能导入sql脚本的方法”是一种提高效率和便利性...

    Mysql中sql语句游标详解

    MySQL中支持的游标类型主要分为服务器游标,类似于MSSQLSERVER中的Transact_SQL游标和API服务器游标,但需要注意的是,MySQL并没有像MSSQLSERVER那样明确区分客户游标。下面详细介绍几种主要的游标类型: ##### 3.1...

    Dbvisualizer安装及连接mysql oracle sqlServer配置

    DbVisualizer是一款强大的...无论你是处理MySQL的数据备份,还是Oracle的复杂查询,或是SQL Server的表结构设计,DbVisualizer都能提供一个统一且高效的平台。因此,掌握其安装与配置对于日常的数据库工作至关重要。

    mysql数据库登陆软件SQL-Front_Setup1.exe.zip

    MySQL数据库是一种广泛使用的开源关系型数据库管理系统,以其高效、稳定和易于管理的特点,在各种规模的企业和项目中都得到了广泛应用。SQL-Front是一款专为Windows操作系统设计的MySQL数据库管理软件,它提供了一个...

Global site tag (gtag.js) - Google Analytics