PHP / MySQL数据库查询如何正常工作?
|
我经常使用MySQL,但我总是想知道它是如何工作的 – 当我得到一个肯定的结果时,数据存储在哪里?例如,我这样写:
当返回一个结果时,我假设它保存所有数据结果,或者它是否在片段中返回,只返回它所要求的位置,如$row-> column_name? 或者,即使您只想在$result中使用一列,它是否真的会返回每一行数据? 此外,如果我使用LIMIT进行分页,即使数据库已更新,它是否仍保留原始(旧)结果? 最佳答案 细节是依赖于实现的,但一般来说,结果是缓冲的.对数据库执行查询将返回一些结果集.如果它足够小,所有结果可能会在初始调用时返回,或者某些结果可能会在迭代结果对象时返回更多结果.以这种方式思考序列: >您打开与数据库的连接; 所有这一切的想法是尽量减少到服务器的往返,而不会发回太多不必要的数据,这就是为什么如果你要求一百万行,你不会立刻得到它们. LIMIT子句 – 或实际上的任何子句 – 将修改结果集. 最后,(7)很重要因为SELECT * FROM表WHERE a =’foo’和SELECT * FROM表WHERE a =’bar’就数据库优化器而言是两个不同的查询因此必须为每个查询确定执行计划分别.但是具有不同参数的参数化查询(SELECT * FROM table WHERE a =:param)是一个查询,只需要计划一次(至少直到它超出查询缓存). (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Making the impossible: 3 nodes intercontinental replica
- Mysql必读MYSQL无法连接 提示10055错误的解决方法
- Mysql必读浅析MySQL replace into 的用法
- Mysql入门mytop 使用介绍 mysql实时监控工具
- LOAD DATA LOCAL INFILE使用mysql2 gem导致格式错误的数据包
- mysql – SQL计算值在多列中出现的次数?
- T-SQL 时间操作(dateadd ,datediff ,datepart ,datenam
- Mysql必读Linux下自动备份MySQL的方法
- 解决 船与运输问题
- SQLyog 使用介绍
