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中的配置
    奋斗
  • 相关阅读:
    I.MX6 fbset 使用
    I.MX6 Android 设备节点权限
    使用Android Studio自带的NDK编译JNI
    I.MX6 网卡能收不能发
    make: *** No rule to make target `out/target/common/obj/APPS/framework-res_intermediates/src/R.stamp'
    Linux 监视文件、文件夹改动
    如何定位web前后台的BUG
    <转>SQL语句大全
    软件测试基础理论(三)
    软件测试基础理论(二)
  • 原文地址:https://www.cnblogs.com/ClearX/p/5479462.html
Copyright © 2011-2022 走看看