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分片?

    非关系型数据库

    非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合
  • 相关阅读:
    2020.10.23 19级training 补题报告
    2020.10.17 天梯赛练习 补题报告
    2020.10.16 19级training 补题报告
    2020.10.9 19级training 补题报告
    2020.10.10 天梯赛练习 补题报告
    2020.10.3 天梯赛练习 补题报告
    2020.10.2 19级training 补题报告
    第十届山东省ACM省赛复现补题报告
    VVDI Key Tool Plus Adds VW Passat 2015 Key via OBD
    Xhorse VVDI Prog Software V5.0.3 Adds Many MCUs
  • 原文地址:https://www.cnblogs.com/Allofus/p/15014016.html
Copyright © 2011-2022 走看看