gpt4 book ai didi

mysql - 使用 mysql 从数据库获取数据时程序没有响应

转载 作者:行者123 更新时间:2023-11-29 16:18:39 25 4
gpt4 key购买 nike

在我的mysql数据库中,我的行有超过100万行。使用 Join 查询我获取了数据库,但是检索数据需要更多时间,并且使用 php 中的 foreach 循环显示数据也需要时间。它显示错误,例如程序没有响应。

SQl 查询正在执行,需要更多时间。在codeigniter中显示数据,使用jquery分页,显示时间也比较长。

我使用了 Codeigniter 分页,现在速度很快。但它显示 SQL 错误。请找到这个

表格

Table name - catch_estimation
estiamteid int(11) PRI
centerid int(11)
centername varchar(100)
month int(2)
year int(5)
totalcatch int(11)
totalefforts int(11)
totalafh int(11)
noofgears int(11)
created_date datetime
modified_date datetime

表名称 gearwise_estimation

id int(11) NO PRI
estimationid int(11)
centername varchar(50)
gearname varchar(20)
gear_totalefforts int(11)
gear_totalafh int(11)
gear_totalcatch int(11)

$this->db->select('start.*');
$this->db->from('gearwise_estimation');
$this->db->join('catch_estimation', 'gearwise_estimation.estimationid = catch_estimation.estiamteid and year = '.$year);

foreach($month as $mon):
$this->db->like('catch_estimation.month',trim($mon));
endforeach;

foreach($gear as $gr):
$this->db->like('gearwise_estimation.gearname',trim($gr));
endforeach;

foreach($centername as $zo):
$this->db->like('catch_estimation.centerid',trim($zo));
endforeach;

$this->db->order_by("catch_estimation.month", "asc");
$this->db->order_by("catch_estimation.centername", "asc");

但它显示错误,例如

SELECT `start`.* FROM `gearwise_estimation` JOIN `catch_estimation` ON `gearwise_estimation`.`estimationid` = `catch_estimation`.`estiamteid` and `year` = 2018 WHERE catch_estimation.month LIKE '%8%' ESCAPE '!' AND catch_estimation.month LIKE '%9%' ESCAPE '!' AND gearwise_estimation.gearname LIKE '%OBGN%' ESCAPE '!' AND catch_estimation.centerid LIKE '%2%' ESCAPE '!' ORDER BY `catch_estimation`.`month` ASC, `catch_estimation`.`centername` ASC

最佳答案

如果表中有超过 100 万行,那么进行 DOM 级别分页是不可行的。目前,您的分页正在从数据库中获取全部 100 万行,然后在 DOM 级别上进行隐藏/显示以形成分页。

您应该在 mysql 中应用 limit 子句,然后只获取每页所需的记录。

See this供您引用。

一旦您仅显示所需的数据,您就可以通过添加索引来继续优化更多数据,使用Explain 获取查询执行详细信息。

关于mysql - 使用 mysql 从数据库获取数据时程序没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54641504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com