我的网站上有一个AJAX搜索工具,当我在实际网站中搜索某些内容时,直到结果出现(表格不超过20个条目),页面会冻结很短的时间,其他地方都无法点击在网站上,但它没有冻结计算机。我可以点击浏览器上的其他标签等。
我在MySQL / InnoDB中使用此查询,运行时间为0.031秒:
select * from members m where
memberID LIKE '%$keyword%' OR
memberName LIKE '%$keyword%' AND
memberTypeID=2;
我认为它与服务器的连接有点相关,并且与服务器的性能有点相关。我怎样才能改善这个?
我使用Bootstrap分页将所有数据放在一个分页表中,该表具有搜索,排序,页面,每页选项的条目数量,所有这些都在客户端完成。
答案 0 :(得分:0)
没有确切的方法可以准确衡量服务器的功能,但您始终可以预测事情。
解决方案1: 如果您使用复杂的数据库查询,则应该使用专用的强大服务器。
解决方案2:您可以对数据库使用ajax异步调用,以便其他内容继续加载并且不会挂起页面。
有关AJAX调用的更多信息:Get data from mysql database using php and jquery ajax
答案 1 :(得分:0)
主要取决于两件事。
Size
。(每次有人会打开网站,你的带宽
将被消费)Memory
SQL
查询使用。(假设你有
表格中有100,000条记录,简单SELECT
查询不会消耗那么多,但它的查询很复杂,包含
加入并没有正确优化然后它可能消耗很多)
根据我的经验。 一个2MB的网站,有4个表,每个约有50,000个记录。如果您在小时中的用户少于50位,您是否可以在共享主机上正常工作。
除此之外,还需要虚拟专用服务器。 (这不固定,很少有网站提供非常强大的共享主机,但价格也很高)
在你的情况下,我猜你正在使用免费托管或本地主机。