栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

PHP核心技术与技术实践---PHP与数据库连接

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP核心技术与技术实践---PHP与数据库连接

1、PDO

PDO就是一个接口,可以让PHP和各种数据库进行交互。虽然PDO支持预处理和数据绑定,但是由于查询效率低,所以笔者不推荐使用

2、数据库的优化    

    基本语句优化原则    

        1、尽量避免在列上进行运算,

            eg:select * from t where YEAR(d)>=2011   优化为  select * from t where d >= '2011-01-01';

        2、使用JOIN连接时,尽量使用小结果集驱动大结果集(根据实际需要可以调整)

        3、注意LIKE的模糊操作的使用,避免%%

        eg:  select * from where name like ‘%de%’   优化为  select * from where name>='de'  and name <'df'

        4、列出需要的字段   主要是节约内存

        5、使用批量插入  节省交互

        6、limit的基数比较大的时候,使用between,在取比较后面的数据时候,使用desc把数据反向查找,减少对数据的扫描

        7、不用适用rand函数获取多条记录

        8、避免使用NULL

         9、不要使用count(id),而应该吃用count(*)?这是为什么

        10、不要做无所谓的排序操作。

5.2.2    索引与性能分析

    MyISAM注重性能,InnoDB注重事物--------------------------这句话是错的

    1、选择存储引擎

        (1)采用MyISAM引擎

                R/W > 100 : 1且update相对较少

                 并发不高,不需要事务

                  表数据量小

                硬件资源有限

         (2)采用InnoDB引擎

                R/W比较小,且频繁更新大字段

                 表数据量超过1000万,并发高

                   安全性和可用性要求高

           (3)采用Momory引擎

                有足够的内存

                   需要定期归档的数据     对数据一致性要求不高

        2、MySQl服务器调整优化措施

              1)关闭不必要的二进制日志和慢查询日志

              2)适度使用Query Cache

                3)增加mysql的最大连接数

            4)从表中删除大量的数据后,使用OPTIMIZE   TABLE TableName

    5.3

        5.3.1    范式与反范式:现在硬盘的存储条件是允许牺牲物理内存来换取查询时间的。

        5.3.2    数据库分区:把数据表的文件和索引分散存储在不同的个物理文件中,对于数据量超过百万的数据,尽量使用数据库分区,可以提高效率的。对于分区,通常使用RANGE类型(在实际开发中还没有试过)

        5.3.3       数据库分表:分表是把一个表分成几个表,进行分表查询时候,可以用union或者做一个视图。数据库分表分为:水平分表和垂直分表。(在实际开发中还没有试过)



作者:白雪歌送武判官归天
链接:https://www.jianshu.com/p/c69f5abe84ae


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/227213.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号