【发布时间】:2015-11-09 06:32:28
【问题描述】:
整个持久层是一个相当大而复杂的 laravel 组件。有没有人已经深入研究过它并且可以用几句话解释它,引擎盖下到底发生了什么?
- Eloquent(与其他 ORM 层相比)似乎没有在应用程序的某处缓存/存储列元数据?或者是吗? (在 Java JPA 或 Doctrine 中,这是通过 Annotations 完成的,但 laravel 似乎没有这个元数据?)
- 这意味着它必须查询来自 MySQL 的每个请求
INFORMATION_SCHEMA.COLUMNS。这是否意味着,laravel 对于每个简单的 SQL 查询都必须使用两个查询(第一个获取列/表定义?) - 在新的实例/外观上调用
hasColumn是否会不可避免地导致 SQL 查询,只是为了检索元数据/表定义?
【问题讨论】:
标签: php mysql performance laravel eloquent