gpt4 book ai didi

javascript - 如何在搜索中处理一个非常大的表?

转载 作者:行者123 更新时间:2023-11-30 11:24:42 25 4
gpt4 key购买 nike

我正在寻找有关如何使用 python django 框架处理以下用例场景的建议,我也愿意使用 javascript 库/ajax。

我正在使用名为 revenue_code 的预先存在的表/模型,其中包含超过 6 亿行数据。

用户需要在一次搜索中搜索三个字段(代码、描述、房间),并且能够选择类似于剑道控件多选的多个搜索结果。我首先通过组合 django-filters 中的代码开始,如下所示,但我的应用程序变得没有响应,等待 10-15 分钟后我能够查看搜索结果但无法选择任何内容。

https://simpleisbetterthancomplex.com/tutorial/2016/11/28/how-to-filter-querysets-dynamically.html

我还尝试使用 kendo 控件、select2 和 chosen,因为我需要用户能够选择他们需要的尽可能多的 rev 代​​码,最高可达 10-20,但在尝试时都给出了相同的无响应页面将数据加载到控件/多选中。

基本上我正在寻找的是下面这样的东西,它允许用户选择多个选项并处理大量数据而不会变得 react 迟钝?理想情况下,我希望能够在不显示所有数据的情况下查询我的搜索结果。

https://petercuret.com/add-ajax-to-django-without-writing-javascript/

Django 框架是用来处理这种类型的数据量的吗?将这些数据导出到文件中并读取文件会更好吗?我不是在寻找代码,只是在寻找有关如何处理此用例的一些指示。

最佳答案

“搜六亿”的基 native 制是什么?基本上数据库如何做到这一点是在搜索时间之前建立一个索引,并且对于不同类型的查询足够通用,然后在搜索时间你只需搜索索引 - 它更小(放入内存)并且更快.但无论如何,“查找”本质上是没有“分页”概念的——如果6亿条记录不能同时入内存,那么就需要对6亿条记录的一部分进行多次换出换入——零件越多,操作越慢。这些隐藏在 MySQL 等数据库的算法背后。

有非常紧凑的表示形式,例如位图索引,可以让您非常快速地搜索男性/女性等数据,或者任何您可以使用每条信息一位的数据。

因此,是否使用 Django 并不重要。重要的是数据库的调优,表的设计以方便查询(索引类型),以及服务器端的内存总量以将数据保存在内存中。

检查一下:

https://dba.stackexchange.com/questions/20335/can-mysql-reasonably-perform-queries-on-billions-of-rows

https://serverfault.com/questions/168247/mysql-working-with-192-trillion-records-yes-192-trillion

How many rows are 'too many' for a MySQL table?

关于javascript - 如何在搜索中处理一个非常大的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48455021/

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