php数据库表修复优化 php数据库优化方法

php怎么做数据库优化2个方面:sql语句优化,缓存 。
sql语句中select * from 表 不需要全部信息的话就尽量不要用*,要哪个字段就写哪个,不要怕写 。
如今php中有许多的缓存方式,有模板缓存,sql查询缓存 。代表有smarty和memcache,当然,其他还有很多优秀的缓存方式,我就不多说了 。
PHP 数据库设计,用户表数据量大该怎么优化有很多种方法可以优化:
数据库设置主从,进行读写分离;
数据分表,如按月份分表,需要统计数据就查总表;
优化查询语句 , 适当增加索引;
字段优化,对不常用或者没有必要的字段可以考虑放在另外一张表里,避免单表数据过大 , 字段过多 。
php 如何提高 “循环数据库修改操作”的速度给php数据库表修复优化你个思路
先最大化 PHP 效率充分利用 系统资源 。
把 sql 拆开比如2万一个用一个 php 去跑 总共用5个 php 一起跑 。
然后最大化 mysql 效率
查一下mysql php数据库表修复优化的瓶颈在哪 。针对性php数据库表修复优化的去优化 。
查询慢就看看索引什么的
写慢就查查 buffer 什么的 。
这里强烈建议读写分离 。
用不通的数据库实例去分别处理读写 。
再看看磁盘 IO 性能 。看看队列数据 。不行就上阵列 。或者单表部署单个磁盘 。或者读写在不同的磁盘进行 。
当然用缓存也可以 。
比如把10万条都独出来存到 memcache 等内存缓存中 。循环处理数据的时候读内存的数据不用查数据库 。
还有终极大招 。
php数据库表修复优化你直接把数据库都搬内存里面 。。。
求助,php这样如何优化应该修改SQL语句 , 同时获得A、B表的结果 。
请你给出A、B两个表的结构(字段含义),可以给你详细写出语句 。
一般可以这样:
【php数据库表修复优化 php数据库优化方法】SELECT A.* , B.id FROM A LEFT JOIN B ON A.id=B.id
查询的A.*是你现在从A表查询的所有字段,B.id是在B表的存在情况,如果为空表示不存在 。
数据库中的表总是会出现查询的数据都为null或者为空,但是数据表中确实有数据存在首先换数据库,MySQL处理这个数量级数据比较吃力 。推荐你用DB2 或ORACLE
如果不能换,检查一下存储引擎用InnoDB,如果是,检查
innodb_flush_log_at_trx_commit 这个选项,是否是1
如果是1 用SET AUTOCOMMIT = 0 ,提高数据修改速度
PHP优化需要
MySQL Slow Log 分析工具分析日志:mysqldumpslow或mysqlsla比较不错 。
Explain/ DESC 分析SQL 的执行情况和SHOW PROCESSLIST
使用SHOW PROCESSLIST 看是否有锁表情况 , 
设置 my.cnf 中的long-query-time 和log-slow-queries 记录服务器那些SQL执行速度比较慢
根据上述情况查看对对应的SQL语句进行优化
优化服务器性能,用RAID5(SAN),加内存本身的升级 , 提高硬盘I/O性能 。
数据库总体性能优化:
数据表最好能拆成小表 。
数据库切片,分到不用的服务器上,
数据库访问性能优化
修改my.cnf, 下面是影响比较大的:
innodb_flush_log_at_trx_commit设置为0
如果比下面值大就不用调整了:
query_cache_size 设置为16M
sort_buffer_size 设置为16M
record_buffer 设置为16M
key_buffer_size 设置为8M
innodb_buffer_pool_size 设置为32M
下面是建议设置的
table_cache 设置为512
read_buffer_size 设置为16M
myisam_sort_buffer_size设置为16M
innodb_additional_mem_pool_size 设置为128M
innodb_log_file_size 设置为256M
innodb_log_buffer_size设置为8M

推荐阅读