`

SQL总结

 
阅读更多

一、SQL Injection
在使用SQL语句,或Store Procedure的时候,为了保护数据,防止发生SQL Injection的危险,应该尽量避免拼接SQL语句。而应该采用bind variables的方式

二、请不要使用select *
避免select不必要的资料,这样会增加网络负担,磁盘I/O,内存和CPU的开销。甚至某些索引的优化手段失效

三、判断记录是否存在SQL (参考:http://tech.it168.com/a2011/0714/1218/000001218009.shtml
常用的SQL是这样:

SELECT COUNT(col) FROM tablename WHERE col = colvalue;

读取COUNT(col)的值判断记录是否存在。对于这种方法性能上有些浪费,我们只是想判断记录记录是否存在,没有必要查出来。
更好的写法:

SELECT 1 FROM tablename WHERE col = colvalue LIMIT 1;

这里LIMIT 1,是MySQL的写法(其他的数据库请具体参考),这里LIMIT 1很重要。这要MySQL找到一条记录后就不会在往下找了。这里执行所影响的行数不是0就是1,性能提高了不少

 

四、SQL撰写规范

为了保证MySQL Query Cache能发挥应有的功能,不同人员写的SQL规范注意应该保持一致。比如说SQL的关键字全部大写,栏位和表名全部都小写。

 

五、不要在索引列上使用函数。

例如:

-- 这样写order_created栏位上建立的索引,将不会发生作用。
SELECT *
FROM orders
WHERE TO_DAYS(CURRENT_DATE()) – TO_DAYS(order_created) >=7;

-- 可以转写成:
SELECT order_id, customer_id,order_total,order_created
FROM orders
WHERE order_created >= ‘2012-02-17’ – INTERVAL 7 DAY;

 

 

 

分享到:
评论

相关推荐

    SQL 语法 SQL 总结 SQL教程

    SQL 基础 SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 ...SQL 总结

    个人整理的比较完整的T-SQL总结

    T-SQL,全称Transact-SQL,是微软SQL Server数据库管理系统中使用的SQL语言扩展版本。...通过阅读和研究个人整理的T-SQL总结,可以帮助你更好地理解和应用T-SQL,提高在SQL Server环境下的数据库管理与开发能力。

    2017年深圳-华为SQL总结.rar

    《2017年深圳-华为SQL总结》 在信息技术领域,SQL(Structured Query Language,结构化查询语言)是数据库管理、数据查询和更新的核心工具。这篇文档详细总结了2017年深圳华为公司在使用SQL过程中的一些关键知识点...

    sql总结代码

    以下是关于标题"sql总结代码"和描述中涉及的一些核心知识点的详细说明: 1. DDL(Data Definition Language):DDL用于创建和修改数据库结构。它包括CREATE、ALTER、DROP等语句,如创建表(CREATE TABLE)、修改表...

    PL_SQL总结-1.rar

    在“PL_SQL总结-1.rar”这个压缩包中,包含了一个名为“PL_SQL总结-1.ppt”的文件,这很可能是对PL/SQL基础概念、语法和用法的一个详细讲解。 PL/SQL由三部分组成:声明部分、执行部分和异常处理部分。在声明部分,...

    SQL总结资料.rar

    综上所述,这份"SQL总结资料.rar"涵盖了SQL Server的核心概念和高级特性,对于学习和提升SQL Server技能非常有价值。无论是初学者还是经验丰富的开发者,都能从中受益。通过深入学习和实践这些内容,你将能够更好地...

    sql总结及晋级试题

    通过学习和实践这些知识点,结合提供的"SQL总结及晋级试题",你可以逐步提升SQL技能,应对更复杂的数据库管理和数据分析任务。无论是初学者还是有经验的开发者,这份资料都将是一份宝贵的资源。

    PL_SQL总结-3.rar

    本教程“PL_SQL总结-3”显然是一个关于深入学习PL/SQL的系列教程的一部分,主要目标是帮助用户熟练掌握PL/SQL语法和Oracle数据库的操作。 在PL/SQL中,学习的主要知识点包括: 1. **基本语法**:包括变量声明、...

    PL_SQL总结-6.rar

    在“PL_SQL总结-6.rar”这个压缩包中,我们可以期待找到一份关于PL/SQL的学习教程,特别是第六部分的内容。通常,这样的教程会涵盖以下几个重要的PL/SQL知识点: 1. **基础语法**:PL/SQL的基本结构包括声明部分、...

    PL_SQL总结-5.rar

    本教程《PL_SQL总结-5》显然是一个关于PL/SQL的深入学习资源,旨在帮助用户全面掌握PL/SQL的语法和应用。 1. **PL/SQL基本结构**: PL/SQL由声明部分、执行部分和异常处理部分组成。声明部分定义变量、常量、游标...

    PL_SQL总结-2.rar

    本教程“PL_SQL总结-2”旨在帮助学习者深入理解和掌握PL/SQL的核心概念和实践技巧。 一、PL/SQL基础 1. **块结构**:PL/SQL由声明部分、执行部分和异常处理部分组成,包括BEGIN、END关键字,定义了程序的基本结构...

    通过分析SQL语句的执行计划优化SQL总结.doc

    《通过分析SQL语句的执行计划优化SQL总结》是一份关于数据库性能调优的重要文档,主要针对SQL语句的执行计划分析与优化进行深入探讨。本文档共分为六章,旨在帮助读者理解如何通过深入分析SQL执行过程,提升数据库...

    sql 总结

    本文将围绕“SQL总结”这一主题,深入探讨SQL的基础概念、主要功能、语法结构以及常见操作,旨在为你提供一个全面且实用的SQL知识框架。 一、SQL基础 SQL起源于1970年代,由IBM的研究员发明,旨在简化对关系型...

    PL_SQL总结-4.rar

    这篇“PL/SQL总结-4”教程,显然是针对已经学习过基础的读者,旨在进一步提升对PL/SQL的理解和应用能力。 在PL/SQL中,我们主要会学习以下几个核心概念: 1. **块结构**:PL/SQL程序的基本结构是块,包括声明部分...

    SQL总结.xmind

    SQL总结.xmind

    ***我的Oracle SQL总结!!!

    这篇博客"我的Oracle SQL总结"可能涵盖了作者在使用Oracle SQL过程中的学习和实践经验,虽然具体细节未在描述中给出,但我们可以根据Oracle SQL的一般知识点进行深入讨论。 首先,Oracle SQL是Oracle数据库系统的...

    JAVA操作SQL总结2.pdf

    JAVA操作SQL总结2.pdf

    sql学习 第15周之基于案例学SQL总结课(大结局).mmap

    sql学习 第15周之基于案例学SQL总结课(大结局).mmap

    通过分析SQL语句的执行计划优化SQL总结)

    在数据库管理中,SQL语句的优化是提升系统性能的关键环节。执行计划是数据库解析SQL语句后生成的一种详细步骤,它展示了数据是如何被检索、排序、连接等操作的。通过对执行计划的深入理解,我们可以识别出SQL语句的...

    t-sql 语法总结

    一份完整的t-sql语法总结,基于sql server数据库。

Global site tag (gtag.js) - Google Analytics