zoukankan      html  css  js  c++  java
  • sql与数据库

    sql的优化:

    1.对查询进行优化,要尽量避免全表扫描,首先应考虑在进行条件判断的字段上创建索引

    2.尽量避免在WHERE字句中对字段进行NULL值判断,否则将导致引擎放弃使用索引而进行全表扫描

    3.尽量避免在WHERE子句中使用!=或<>操作符,否则将导致引擎放弃使用索引而进行全表扫描

    4.尽量避免在WHERE子句中使用OR来连接条件,如果一个字段有索引一个字段没有索引,将导致引擎放弃使用索引而进行全表扫描,需要使用UNION ALL代替它

    5.慎用NOT IN,会导致全表扫描,用NOT EXISTS代替它

    6.主键字段数据库会默认使用索引,例如emp表中empno就是表的主键

    7.模糊查询使用“%”也将导致全表扫描(MYSQL中),可将用户可能输入的关键字使用下拉列表列出,数据库使用全名称查询

    8.尽量避免在WHERE字句中对字段进行表达式计算操作,(例:WHERE sal/2=750写成WHERE sal=750*2)

    数据库设计的三大范式:

    1.第一范式(确保每列保持原子性)

    最基本的范式,所有字段值都是不可分解的原子值就说明该数据库满足第一范式

    2.第二范式(确保表中的每列都和主键相关)

    需要确保数据库表中每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)

    3.第三范式(确保每列都和主键列直接相关,而不是间接相关)

    三大范式只是作为一种规范提出,并不是一定要遵守,具体的设计具体分析

    dual数据表:用来调用系统的一些函数(系统时间,主机名,随机数,计算器等)

  • 相关阅读:
    【数论】线性模方程
    【数论】拓展欧几里得
    BZOJ1433: [ZJOI2009]假期的宿舍
    BZOJ2823: [AHOI2012]信号塔
    BZOJ1088: [SCOI2005]扫雷Mine
    BZOJ1257: [CQOI2007]余数之和sum
    BZOJ1227: [SDOI2009]虔诚的墓主人
    BZOJ1856: [Scoi2010]字符串
    BZOJ1084: [SCOI2005]最大子矩阵
    BZOJ2007: [Noi2010]海拔
  • 原文地址:https://www.cnblogs.com/yhgn/p/10799902.html
Copyright © 2011-2022 走看看