SQL性能 – 转换参数或列types

我在接受采访时被问到了这个问题,并希望得到一些反馈意见。

我有一个存储过程需要一个varchar参数IsActive是一个“是”或“否”string。

存储过程将查询具有数据types位的“活动”列的表。 如果参数是“YES”,那么它将返回有效列位值为1的所有行,否则为“否”将返回有效列位值为0的所有行。

查询时最好是将参数值从YES / NO转换为1/0,或将表格数据从1/0转换为YES / NO?

如果数据types相反(1/0传入,YES / NO存储在表中),答案是否相同?

我认为最好将参数从“YES”/“NO”转换为1/0,以避免在数据库中存储更多耗费空间的variables。

我还认为,对位types进行过滤的查询将比在varchars上进行过滤的查询效率更高。