2016-12-06 29 views
-1

我有一个网页字段,它显示结果,你键入。目前,我正在使用存储在服务器上的XML文件作为这些结果的来源。如果我直接查询数据库时输入字母会更快吗?什么是完成这个最好的方法?实时搜索,XML或SQL会更快吗?

我在MS SQL Server中使用PHP和AJAX。谢谢。

+2

打到每个角色的数据库不是个好主意。 –

+1

通过XML文件搜索并不是非常有效,但对于较小的网站它可能会工作正常。具有索引的表格应该非常快速,并且更具可扩展性。您可以通过在每次击键后不发送请求来进一步优化,直到用户停止键入。 –

+0

所以对它进行基准测试并找出肯定的结果 – 2016-12-06 07:02:52

回答

0

XML文件只是存储在您的机器或另一台机器上的文本文件;他们需要阅读,解析和写入,只有你的程序可以做到这一点。由于它们的文本性质,它们也是真的非常低效:读取和解析文本文件非常慢,修改它更糟糕。

XML文件适用于存储配置设置和在不同系统之间传递数据,但数据存储和处理必须存在于适当的DBMS中。

希望这可以满足您的要求。

0

更具扩展性的解决方案是使用非标准化表来存储结果。如果您使用SQL Server 2014或更高版本,则可以使用内存优化表。

为了加快查询,也可以创建一个本地编译存储过程,但是这也支持在SQL Server 2014或更高版本。

此外,尝试在搜索结果上构建全文搜索索引,以便加快查询速度并提供更多功能。