• 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数据表:用来调用系统的一些函数(系统时间,主机名,随机数,计算器等)

  • 相关阅读:
    第一个dubbo程序
    spring aop通过注解实现日志记录
    Java操作zookeeper
    VMware安装Linux并配置网络通信
    多线程工具之CompletionService
    Netty实现简易http_server
    python3.4 + Django1.7.7 表单的一些问题
    【编程练习】八大排序算法
    OpenCV特征点检测------Surf(特征点篇)
    Opencv学习笔记------Harris角点检测
  • 原文地址:https://www.cnblogs.com/yhgn/p/10799902.html
Copyright © 2020-2023  润新知