zoukankan      html  css  js  c++  java
  • 16、数据库相关知识--索引、优化等

    1、什么是数据库索引?

    • 数据库索引是数据库管理系统中一个排序的数据结构,用于协助快速查找数据库表中的数据;
    • 索引的实现通常采用B+ Tree;
    • B+ Tree的使用加快了数据的访问,因为存储引擎不会再去扫描整张表来获取需要的数据;相反它从根结点开始,根结点保存了子节点的指针,存储引擎会根据指针快速查找到需要的数据。

    2、数据库如何优化查询效率

    • 存储引擎的选择:如果数据表需要事务处理,优先考虑使用InnoDB;如果不需要事务处理,使用默认出处引擎MyISAM即可;
    • 对查询进行优化,尽量避免全表扫描,如可以在where及order by涉及的字段上建立索引;
    • 避免在where子句中使用!=、or连接条件、null值判断,防止引擎放弃使用索引而进行全表扫描;
    • 对于join多张大数据量的表,要先分页在join.

    3.、数据库的优化?

    • 设计表时严格根据数据库的设计范式来设计数据库;
    • 使用缓存:将经常需要访问的数据且不需要经常变化的数据放在缓存中;
    • 采用sql内部自带的表分区技术,把数据分成不同的文件

    4、sql注入是如何产生的?如何防止?

    程序开发过程中不注意规范书写sql语句和对特殊字符进行处理,导致客户端可以通过全局变量提交一些sql语句正常执行,产生sql注入。

    如何避免:

    • 过滤掉一些常见的数据库操作关键字
    • sql语句在书写时尽量不要省略单引号和`
    • 对常用的方法加以封装,避免直接暴露sql语句
  • 相关阅读:
    dw2018修改为中文
    C# 响应一个html页面
    layui 时间控件 单击 年直接赋值
    js 正则 测试
    python之读取和写入csv文件
    python安装与配置
    hive支持sql大全
    HiveQL与SQL区别
    Hadoop插件安装
    简单算法学习之快速排序详解
  • 原文地址:https://www.cnblogs.com/yif930916/p/15060160.html
Copyright © 2011-2022 走看看