Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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
C# 把它取下来。然后从FirstLetter='A'的表中选择*_C#_Sql_Performance - Fatal编程技术网

C# 把它取下来。然后从FirstLetter='A'的表中选择*

C# 把它取下来。然后从FirstLetter='A'的表中选择*,c#,sql,performance,C#,Sql,Performance,或者创建一个包含a-Z行的查找表,并在manufacturer表中设置外键。同样,您可能需要一个触发器来更新此信息。然后可以将查找表内部联接到制造商表 然后,不要在页面中放置26个数据集,而是有一个链接列表(a-Z),一次选择并显示每个数据集。这对我来说似乎很脏,但您可以创建一个首字母字符列并触发来填充它。将制造商名称的第一个字母存储在该列中,并为其编制索引。然后从FirstLetter='A'的表中选择* 或者创建一个包含a-Z行的查找表,并在manufacturer表中设置外键。同样,您可能

或者创建一个包含a-Z行的查找表,并在manufacturer表中设置外键。同样,您可能需要一个触发器来更新此信息。然后可以将查找表内部联接到制造商表


然后,不要在页面中放置26个数据集,而是有一个链接列表(a-Z),一次选择并显示每个数据集。

这对我来说似乎很脏,但您可以创建一个首字母字符列并触发来填充它。将制造商名称的第一个字母存储在该列中,并为其编制索引。然后从FirstLetter='A'的表中选择*

或者创建一个包含a-Z行的查找表,并在manufacturer表中设置外键。同样,您可能需要一个触发器来更新此信息。然后可以将查找表内部联接到制造商表


然后,不要在页面中放置26个数据集,而是有一个链接列表(a-Z),可以一次选择并显示每个数据集。

如果我没看错的话,您是在查询每个制造商,以获得构建链接所需的“不同字段”。如果是这样的话,那就是你的问题,而不是26个字母顺序的查询(尽管这没有帮助)

在这种情况下,更快的方法是执行以下查询:

SELECT manufacturer_name, manufacturer_id, different_field 
FROM manufacturers m
INNER JOIN different_field_table d
ON m.manufacturer_id = d.manufacturer_id
ORDER BY manufacturer_name
在服务器代码中,像往常一样循环记录。如果需要,请在
制造商名称的第一个字母更改时发出标题

对于附加速度:

  • 将其放入存储过程中
  • 制造商id
    上索引
    不同的\u字段\u表

如果我没看错的话,您正在查询每个制造商以获得构建链接所需的“不同字段”。如果是这样的话,那就是你的问题,而不是26个字母顺序的查询(尽管这没有帮助)

在这种情况下,更快的方法是执行以下查询:

SELECT manufacturer_name, manufacturer_id, different_field 
FROM manufacturers m
INNER JOIN different_field_table d
ON m.manufacturer_id = d.manufacturer_id
ORDER BY manufacturer_name
在服务器代码中,像往常一样循环记录。如果需要,请在
制造商名称的第一个字母更改时发出标题

对于附加速度:

  • 将其放入存储过程中
  • 制造商id
    上索引
    不同的\u字段\u表


你能发布你当前的代码/表结构吗?你能发布你当前的代码/表结构吗?为什么这需要一个存储过程?@Marcelo:存储过程,所有生活问题的原因和解决方案。哦,等等,那是酒精!如果您的存储过程最终执行26个单独的查询,那么它的效率仍然比执行一个大查询要低得多…@Marcelo,@Thorarin:我对OP意图的解释是执行26个稍微不同的
SELECT
语句,这就是为什么他没有在一个语句中完成所有操作并将其拆分为代码。一个查询肯定更高效,但如果问题是要尽可能快地执行26条语句,我宁愿使用存储过程而不是26个代码调用。为什么这就需要存储过程?@Marcelo:storageprocedures,生命中所有问题的起因和解决方案。哦,等等,那是酒精!如果您的存储过程最终执行26个单独的查询,那么它的效率仍然比执行一个大查询要低得多…@Marcelo,@Thorarin:我对OP意图的解释是执行26个稍微不同的
SELECT
语句,这就是为什么他没有在一个语句中完成所有操作并将其拆分为代码。一个查询肯定更有效,但如果问题是要尽可能快地执行26条语句,我宁愿使用存储过程,而不是26个来自代码的调用。@Marcelo:我假设OP只是为现有的制造商创建链接,因此可能没有以
X
开头的链接,例如,在这种情况下,代码中的拆分是有意义的。。。一旦数据库按字母表对它们进行排序,就很容易做到。@OrbMan,这仍然不能保证获取所有内容。您的索引页可以使用
选择不同的SUBSTR(name,1,1)
,这比获取所有内容要快得多。是的,我在回答中提出了这一点。@Marcelo:我假设OP只是为现有的制造商创建链接,因此可能没有以
X
开头的链接。例如,在这种情况下,在代码中拆分是有意义的。。。一旦数据库按字母表对它们进行排序,就很容易做到。@OrbMan,这仍然不能保证获取所有内容。您的索引页可以使用
选择不同的SUBSTR(name,1,1)
,这比获取所有内容快得多。是的,我在回答中提出了这一点。为什么这是一个糟糕的设计?基于制造商ID或URL字段构建超链接对我来说似乎非常有效:PWhy这会是一个糟糕的设计吗?基于制造商ID或URL字段(例如)构建超链接对我来说似乎非常有效:p尝试对任何包含单词
DataTable
的内容进行否决投票。我会尽力抵制:)@Thorarin:我听到了-我不想推广那种查询数据的方法(特别是使用具有强类型视图的MVC),只需要一个最低的公分母来演示这个概念,而不知道OP的模型层。试图否决任何包含
DataTable
一词的内容。我会尽力抵制:)@Thorarin:我听到了-我不想推广这种查询数据的方法(特别是使用具有强类型视图的MVC),只需要一个最低的公分母来演示这个概念,而不知道OP的模型层。存储过程对速度来说是值得怀疑的。。。不过,
制造商名称
上的聚集索引可能会有所帮助。取决于它在其他场景中的使用方式。@Throarin-如果他经常调用它,而他的实际查询更复杂(这很可能),那么将代码放入存储过程可能会有所帮助,但不会有什么坏处。存储过程的速度是否值得怀疑。。。
制造商名称上的聚集索引可以是he
SELECT manufacturer_name, manufacturer_id, different_field 
FROM manufacturers m
INNER JOIN different_field_table d
ON m.manufacturer_id = d.manufacturer_id
ORDER BY manufacturer_name