为了账号安全,请及时绑定邮箱和手机立即绑定

PHP核心技术与技术实践---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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
205
获赞与收藏
1008

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消