php数据查询优化 php查询数据库数据( 三 )


23、在新建临时表时,如果一次性插入数据量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert 。
24、如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除 , 先 truncate table,然后 drop table  , 这样可以避免系统表的较长时间锁定 。
25、尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该考虑改写 。
26、使用基于游标的方法或临时表方法之前,应先寻找基于集的解决方案来解决问题,基于集的方法通常更有效 。
27、与临时表一样,游标并不是不可使用 。对小型数据集使用 FAST_FORWARD 游标通常要优于其php数据查询优化他逐行处理方法,尤其是在必须引用几个表才能获得所需的数据时 。在结果集中包括“合计”的例程通常要比使用游标执行的速度快 。如果开发时 间允许,基于游标的方法和基于集的方法都可以尝试一下,看哪一种方法的效果更好 。
28、在所有的存储过程和触发器的开始处设置 SET NOCOUNT ON,在结束时设置 SET NOCOUNT OFF。无需在执行存储过程和触发器的每个语句后向客户端发送 DONE_IN_PROC 消息 。
29、尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理 。
30、尽量避免大事务操作 , 提高系统并发能力 。
有效提高ThinkPHP的应用性能的几点建议架构优化涉及到技术、存储、网络、服务的选型和构架php数据查询优化,尽量使用成熟和现代的开发架构和设计模式 。前后端完全分离设计php数据查询优化,便于前后端的独立优化php数据查询优化,也更加便于测试工作 。
如果你的应用遇到php数据查询优化了性能瓶颈php数据查询优化,这个时候要考虑的就是优化架构而不是优化代码本身,因为架构层面的优化效果往往是最显著的 。
架构的优化需要根据自身运营情况来调整,切忌不可按图索骥提前优化,反而容易得不偿失 , 导致技术成本提高甚至“负优化”
部署环境千万不要忘记关闭调试模式,这不仅仅是出于性能考虑,更多是基于安全因素 。事实上,建议通过环境变量来配置关闭调试模式,这样部署后不需要更改任何配置文件 。
因为调试模式影响日志记录信息、额外的调试信息和缓存失效,关闭调试模式能够带来一定的性能提升
使用多模块功能会增加文件的I/O开销和额外的配置及检查,如非必要在规划你的应用架构的时候尽量考虑使用单一模块,然后使用控制器分级来解决控制器过多的问题 。
使用单一模块的性能优势,在部署到swoole的时候可以得到更加充分的体现,因为应用文件一旦启动服务,就会载入内存,而模块的相关文件则会每次请求重新加载 。
在定义路由规则的时候,不要使用数组方式,尽量使用方法注册路由,并且多使用路由分组(或者资源路由) 。分组路由可以减少路由的匹配次数,从而提升路由性能 。如果你有多个域名的不同路由,也要按域名规划使用路由 。
尽可能设计在路由中进行当前路由的数据验证和权限检查等操作,一方面比较清晰,另外一方面可以尽量把验证操作提前,而不必等到控制器执行 。
在分组比较多的情况下,开启路由的延迟解析 。
如果同一个分组下面有比较多的路由规则 , 建议合并路由规则
对于GET请求的路由,可以设置路由的请求缓存 。
部署阶段 , 可以开启路由缓存 。

推荐阅读