Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要关于设计系统的建议吗_Javascript_Mysql_Performance - Fatal编程技术网

Javascript 需要关于设计系统的建议吗

Javascript 需要关于设计系统的建议吗,javascript,mysql,performance,Javascript,Mysql,Performance,我正试图设计一个页面,使其工作最快,同时也试图避免重复 基本上,我将加载3组用户的联系人。业务联系人、个人联系人和特殊联系人,可以是业务/个人联系人的混合体。所以本质上,我会做以下三个查询: SELECT stuff FROM contacts WHERE userId = '$userId' AND type = 'business' SELECT stuff FROM contacts WHERE userId = '$userId' AND type = 'personal' SELE

我正试图设计一个页面,使其工作最快,同时也试图避免重复

基本上,我将加载3组用户的联系人。业务联系人、个人联系人和特殊联系人,可以是业务/个人联系人的混合体。所以本质上,我会做以下三个查询:

SELECT stuff FROM contacts WHERE userId = '$userId' AND type = 'business'

SELECT stuff FROM contacts WHERE userId = '$userId' AND type = 'personal'

SELECT stuff FROM contacts WHERE userId = '$userId' and isSpecial = 1
javascript将使用这些联系人来填充页面上的某些
s
,并用于搜索页面上的联系人

如果只加载业务和个人联系人,然后通过javascript循环访问,并使用javascript构建第三个特殊联系人列表(本质上是
isSpecial
设置为1),是否更有意义

或者最好使用MySQL查询分别获取这3个集合,并将它们作为3个单独的集合从一开始传递给javascript

或者我应该只从MySQL获取一组联系人,只要
userId='$currentUser'
,并在页面加载时通过javascript将其排序到单独的列表中?(无论如何,我都会在页面加载上循环浏览所有联系人,以填充他们各自的
,也许我也可以在循环浏览时将他们分成3个单独的列表?)

还是其他方法是最好的


我在这里关心的是尽可能快地为用户提供一切,同时最大限度地减少数据库服务器的压力。

只执行一个查询,在该查询中同时加载“业务”和“个人”,然后查找“特殊”查询。(假设没有其他类型的问题。)

只执行一个查询,在该查询中同时加载“业务”和“个人”,然后查找“特殊”查询。(假设没有其他类型的问题需要担心。)

您不能:

从联系人中选择内容,其中userId='$userId'和type='business'或type='personal'或isSpecial=1

那么您只有一次对数据库的调用

您还可以将“选择内容”更改为仅选择所需的字段。此外,更改sql查询以获取数据库,以便根据需要对联系人进行排序

更新 好的,只是一个想法,在页面加载时,首先选择20个联系人(最多),然后运行javascript来显示他们或其他什么,然后当您收到页面已完全加载的事件时,对其余行执行SELECT语句(如果有)。

您不能:

从联系人中选择内容,其中userId='$userId'和type='business'或type='personal'或isSpecial=1

那么您只有一次对数据库的调用

您还可以将“选择内容”更改为仅选择所需的字段。此外,更改sql查询以获取数据库,以便根据需要对联系人进行排序

更新
好的,只是一个想法,在页面加载时,首先选择20个联系人(最多),然后运行javascript来显示他们或其他什么,然后当您收到页面已完全加载的事件时,对其余行执行SELECT语句(如果有).

在我看来,使用MySQL单独获取联系人会更好,因为MySQL相对更快。另外,如果用户浏览器中的javascript被关闭,或者他正在使用移动浏览器,那么您将无法隔离联系人

编辑


正如您所指出的,javascript是您的站点的最低要求,那么最好的方法是使用一个go和一个查询来获取数据,并使用js进行隔离。

IMO如果您使用MySQL本身来单独获取联系人会更好,因为MySQL相对更快。另外,如果用户浏览器中的javascript被关闭,或者他正在使用移动浏览器,那么您将无法隔离联系人

编辑


正如您所指出的,javascript是您的站点的最低要求,那么最好的方法就是使用一个go和一个查询来获取数据,并使用js进行隔离。

我建议使用一个大列表,并基于数据绑定进行呈现(可能是淘汰?@Raynos这些术语是什么意思?(数据绑定和敲除)用于将数据绑定到DOM的库。我推荐一个基于数据绑定的大列表和呈现(可能是敲除?)@Raynos这些术语是什么意思?(数据绑定和敲除)用于将数据绑定到DOM的库。有什么理由这样做吗?有什么理由这样做吗?他想分别显示它们。因此,问题不仅在于获取,还在于根据类型对它们进行分离。我可以做到这一点,但我担心当我在页面加载时通过javscript将它们排序到单独的列表中时,用户需要等待多长时间。(可能有100-200个商业和个人联系人)他希望分别显示这些联系人。因此,问题不仅在于获取,还在于根据类型对它们进行分离。我可以做到这一点,但我担心当我在页面加载时通过javscript将它们排序到单独的列表中时,用户需要等待多长时间。(可能有100-200个商业和个人联系人)移动浏览器这件事不值得关注,因为该页面主要基于javascript,如果有人禁用了它,我们将不支持它。移动浏览器这件事不值得关注,因为该页面主要基于javascript,如果有人禁用了它,那么我们不支持它。