zoukankan      html  css  js  c++  java
  • 数据库篇

     ado.net 九大步骤:https://www.cnblogs.com/Allofus/p/15033965.html

    Connection  数据库连接对象
    Command     数据库命令对象
    DataReader  数据读取器
    DataSet     数据存储器
    
    DataCommand 执行语句命令对象
    DataAdapter 数据集合,用于填充
    int count = (int)Command.ExecuteScalar();
    int rows = Command.ExecuteNonQuery();
    SqlDataReader reader = Command.ExecuteReader();

    触发器

    触发器是在对表进行插入、更新或删除操作时自动执行的存储过程;
    触发器通常用于强制业务规则;
    触发器是一种高级约束,可以定义比用 CHECK 约束更为复杂的约束:可执行复杂的SQL语句(
    if/while/case)、可引用其它表中的列;
    触发器定义在特定的表上,与表相关;
    自动触发执行;
    不能直接调用;
    是一个事务(可回滚);

    视图和存储过程

    视图的优点:
        简化操作,把经常查询的数据定义为视图;
        安全性,用户只能查询和修改能看到的数据;
    视图的缺点: 性能偏慢,视图查询时也会转化成对基本表的查询; 存储过程和视图的区别: 视图呈现数据、过程处理数据(可接收参数,输出参数); 过程在创建时就在服务器上进行编译,效率更高;


    关系型数据库

    具有ACID的特点,原子性 一致性 隔离性 持久性;

    提问:

    如何提高 高并发读写效率?比如网站每秒上万次读写请求。

    海量数据的高效率读写如何处理?比如在一个海量数据的表中查询。

    解决:

    0. sql 调优,参考:https://www.cnblogs.com/Allofus/p/15324044.html

    1. 数据库分表可以解决单表海量数据的查询性能问题,分库可以解决单台数据库的并发访问压力问题。

      为什么分表还要分库:因为分表的实质还是在一个数据库上进行的操作,很容易受数据库IO性能的限制。

      具体参考:https://www.jianshu.com/p/84da619ce203

    2. 热数据存 db,需分库分表;冷数据存在 ES(搜索引擎查询)和 Hive(离线查询),提高 read 请求。

    3. 读写分离、限流、主从主备、数据库集群、mycat分片?

    非关系型数据库

    非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合
  • 相关阅读:
    响应式布局,流式布局与固定布局
    垃圾回收机制
    形象讲解时间复杂度
    数据结构和算法简介
    数据结构之栈和队列
    十、str的索引、切片和str常用的操作方法(重点)
    九、基础数类型总览和str、int、bool之间的相互转化
    八、编码的初识和进阶
    七、格式化输出和运算符
    六、while循环
  • 原文地址:https://www.cnblogs.com/Allofus/p/15014016.html
Copyright © 2011-2022 走看看