zoukankan      html  css  js  c++  java
  • SQL优化(2)

    建表时候数据库引擎的选择也可以达到优化的效果
    InnoDB:
    基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB
    MyISAM:在磁盘上存储为三个文件 
    .frm文件存储表定义。
    数据文件的扩展名为.MYD (MYData)。
    索引文件的扩展名是.MYI (MYIndex)。
    InnoDB提供事务支持事务,外部键等高级数据库功能
    MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持
    对于MyISAM数据库,需要定时清理
        optimize table 表名
    数据库参数配置:
        最重要的参数就是内存,主要用到的innodb引擎,调大下面的两个参数:
        innodb_additional_men_pool_size=64M
        innodb_buffer_pool_size = 1G
        对于MyISAM,需要调整key_buffer_size,当然调整参数还是要看状态,用show_status语句查看当前状态,
        以决定调整哪些参数
    优化group by语句
        group by的时候默认会对数据进行排序,这时候可以采用order by null可以禁止排序
    某些情况下,可以使用连接来代替子查询。因为在mysql中join方式不需要在内存中创建临时表,效率较高
    在精度要求高的应用中,建议使用定点数(decimal)来存储数值,以保证结果的准确性。
        create table sal(t1 float(10,2));

    
    
        create table sal2(t2 decimal(10,2));

    
    
    表的水平划分
        以一个标准去划分表

    
    

    表的垂直划分

    
    

    数据库存储图片路径,图片放置在另外的服务器上(图床)
    
    
    读写分离:
        http://blog.csdn.net/cutesource/article/details/5710645

    对于读操作为主的应用,使用读写分离是最好的场景,因为可以确保写的服务器压力更小,而读又可以接受点时间上的延迟。
    这句话阐述了优点和缺点及何时使用。

    
    
    5.5版本的mysql数据存储的位置--》   C:ProgramDataMySQLMySQL Server 5.5data	est
    可以参见my.ini中的配置
    奋斗
  • 相关阅读:
    关于form表单的相同name问题
    MySQL数据库视图
    Blazor
    查看Oracle正在执行的任务
    比较不错的几款开源的WPF Charts报表控件
    Raft算法
    EntityFramework 使用Linq处理内连接(inner join)、外链接(left/right outer join)、多表查询
    systemd、upstart和system V 枯木
    MRTG生成首页报错解决方法 枯木
    dd备份和恢复 枯木
  • 原文地址:https://www.cnblogs.com/ClearX/p/5479462.html
Copyright © 2011-2022 走看看