我正在处理需要我比较行的每一列的任务。有很多方法可以实现,我很好奇,因为行数是一个很大的数字。所以在这里我通过例子来解释它。
---------------------------------------------------------------------
ID[P_K] | Name | Address | City | Gender | College
---------------------------------------------------------------------
所以上面是一个表的基本示例,它包含来自多个大学的学生的数据,现在我从外部来源获取一些数据,需要将其与我的数据库中的数据进行比较。以下是可能的方法。
我将
where Id = <id>
在我的代码中进行选择查询并一一匹配。其他方式我可以做一个选择查询
where ID = <id> and name = <name> and so on...
所以现在我的首选是第二个选项,因为复杂性较低。
现在继续前进,只有一件事在我的脑海中造成冲突。
问题:
查询这两个查询的复杂度(考虑 ID 作为主键):
where Id = <id>
where ID = <id> and name = <name> and so on...
我知道这个总数取决于 MySQL 算法,我搜索了很多没有找到 MySql 的 Select 算法。
如果有人可以分享 Select 算法,那将会很有帮助。
特定于算法:
该算法有两种工作方式:
For number of rows { if(whereCondition1 && whereCondition2 .... && whereCondition<N>)}
}for number of rows { if(whereCondition1){ //Result filter according whereCondition1 if(whereCondition2){ //Result filter according whereCondition2 . . and so on... } else { continue; } } else { continue; } }
现在第一个复杂度将是 O(n)。对于第二个假设 ID[P_K],将降低复杂性。正确的?
那么从上面哪个算法是用户?或不是这些?