当前位置:  开发笔记 > 编程语言 > 正文

可以在SQL中的数据库中完成二进制搜索吗?

如何解决《可以在SQL中的数据库中完成二进制搜索吗?》经验,为你挑选了2个好方法。

好.我使用C#编程语言访问一个简单的数据库(在Microsoft SQL Server上)

目前,我正在使用DataReader对象来访问数据库.所以这是我的问题:是否可以对特定的数据进行二进制搜索(在C#中),以便我可以更快地进行搜索?

目前,我正在使用一个简单的while循环来搜索数据库的内容.我相信这是按顺序完成的.

while (pReader.Read())
{
   if ((String)pReader["theData"] == "The_thing_im_searching_for")
   break;
}

那么有没有办法进行二分搜索?



1> Donnie..:

如果您仍在使用数据库,则应编写一个select语句来搜索您要查找的内容,而不是手动迭代数据库.没有理由重新发明轮子.



2> Daniel Pryde..:

正如Donnie所指出的,如果您在SQL中表达谓词,数据库将选择自动提取数据的最有效方法.

试试这个:

string sql = "SELECT * FROM Foo WHERE theData = 'The_thing_im_searching_for'"
SqlDataAdapter adapter = new SqlDataAdapter(sql);
DataTable table = new DataTable();
adapter.Fill(table);

foreach(DataRow row in table.Rows) {
    // Do whatever you want here
}

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有