Vee*_*tav 1 mysql sql database sql-server oracle
我有一个primary key具有varchar数据类型的表.另一个表格foreign key为varcharasatatype.
我正在join使用这对varchar数据类型进行声明.虽然我处理的行数很少(比如雷行),但它正在采取行动60ms.但是当最终部署系统时,它将有大约数千行.
我读到Performance of string comparison vs int join in SQL并得出结论,SQLQuery 的性能取决于DB它所处理的行数和行数.
但是当我处理大量数据时,它会有多重要吗?
我应该创建一个新的列number中的数据类型都将table与join该table减少由所花费的时间SQL查询?
您应该为您所代表的数据使用正确的数据类型 - 任何可疑的理论性能增益都是必须处理数据转换的开销的次要因素.
根据这个问题,真的不可能说出这是什么,但大多数情况都是显而易见的.在不明显的情况下,您的数据元素由一组数字表示,但您不会将其视为数字 - 例如,电话号码.
你正在处理这种情况的线索是:
如果是这种情况,那么您可能希望将"数字"存储为varchar.