Php 我是否有太多的查询查找表,有人可以建议一个替代方案吗?
我目前正在构建一个codeigniter应用程序,用于处理特定类型的哺乳动物。当用户添加新记录(哺乳动物)时,会给他们提供“品种类型”、“性别”等列表。这些列表存储在单独的数据库表中 目前,为了获得这些,我有单独的功能,例如:Php 我是否有太多的查询查找表,有人可以建议一个替代方案吗?,php,mysql,codeigniter,Php,Mysql,Codeigniter,我目前正在构建一个codeigniter应用程序,用于处理特定类型的哺乳动物。当用户添加新记录(哺乳动物)时,会给他们提供“品种类型”、“性别”等列表。这些列表存储在单独的数据库表中 目前,为了获得这些,我有单独的功能,例如: $this->Mammal->get_list_of_breeds() $this->Mammal->get_list_of_genders() 这些调用中的每一个都是一个查询,我最多可以查询7到8个不同的查找。是否有人知道这是否会显著降低我的应
$this->Mammal->get_list_of_breeds()
$this->Mammal->get_list_of_genders()
这些调用中的每一个都是一个查询,我最多可以查询7到8个不同的查找。是否有人知道这是否会显著降低我的应用程序的速度或导致对数据库的查询过多。在大多数情况下,单个表中的最大记录数不超过300条
有没有更好的方法可以做到这一点,将查询整合到单个函数中,并使用php拆分查找字段
非常感谢您的任何想法。正如您自己所评论的,是的,您确实应该将所有内容放在一张表中 所以你有一张叫做哺乳动物的桌子 然后你会有领域:性别,品种等 在php中编程时,这要容易得多,因为现在您可以执行一个查询,然后显示所有内容,如下所示:
$query="SELECT * FROM `mammals`";
$query_exec=mysql_query($query);
while($result=mysql_fetch_array($query_exec))
{
print "gender: ".$result['gender']." breed: ".$result['breed'];
}
小解释:
该查询从名为
然后,只要数组中还有结果,while就会继续
fetch数组将数据放入变量中,每个字段都可以由$result[]读取
我知道这不是一个很清楚的解释,但我的头脑也不是这么晚才清醒的://正如你自己评论的那样,是的,你确实应该把所有东西放在一张桌子上 所以你有一张叫做哺乳动物的桌子 然后你会有领域:性别,品种等 在php中编程时,这要容易得多,因为现在您可以执行一个查询,然后显示所有内容,如下所示:
$query="SELECT * FROM `mammals`";
$query_exec=mysql_query($query);
while($result=mysql_fetch_array($query_exec))
{
print "gender: ".$result['gender']." breed: ".$result['breed'];
}
小解释:
该查询从名为
然后,只要数组中还有结果,while就会继续
fetch数组将数据放入变量中,每个字段都可以由$result[]读取
我知道这不是一个很清楚的解释,但我的头脑也不是这么晚才清醒的://一个想法是将一些较小的选项集放入数组中,特别是当用户无法更改它们时。例如,性别可能只是一个数组。据我所知,只有两种选择。如果有任何其他类似的选项集,您也可以制作这些数组 但是,即使是300条记录也不是一个巨大的数据量。我认为你不是在构建下一个Facebook,所以仅仅通过几个清晰的查询来获得你需要的选项可能不是什么大问题
就我个人而言,我不会把它放在一张桌子上。大型通用表似乎有点胡闹,而且您仍然可以获得相同数量的数据。您可以拥有单独的表,并通过联合查询来完成相同的任务。一个想法是将一些较小的选项集放入数组中,尤其是当用户无法更改它们时。例如,性别可能只是一个数组。据我所知,只有两种选择。如果有任何其他类似的选项集,您也可以制作这些数组 但是,即使是300条记录也不是一个巨大的数据量。我认为你不是在构建下一个Facebook,所以仅仅通过几个清晰的查询来获得你需要的选项可能不是什么大问题
就我个人而言,我不会把它放在一张桌子上。大型通用表似乎有点胡闹,而且您仍然可以获得相同数量的数据。您可以拥有单独的表,并通过联合查询来完成相同的任务。我突然想到了一个想法。我可以把所有的查找表放在一个带有类型字段的表中吗?(类型为“品种”、“性别”等)我突然想到了一个想法。我可以把所有的查找表放在一个带有类型字段的表中吗?(类型为“品种”、“性别”等)