SQL中字符串较量与int毗连的机能
可以接管的是,在int列上搜刮表比在字符串列上更快(好比varchar). 可是,假如我有一个带有Color列的Shirt表,那么建设一个Color表是否更高效,而该表上的主键是Shirt表上的外键?在搜刮绿色衬衫时,联接是否会否认在Shirt上的Color列中的值为int而不是字符串值(如“Green”)的机能上风? 办理要领与正在执行的其他操纵对比,两种要领之间不太也许存在太多机能差别.假如您只有少量颜色(最多几百个),则颜色表得当大大都数据库中的单个页面.颜色索引会使查找速率很是快,而且不会发生任何I / O勾当(在第一次加载页面之后).字符串较量取决于数据库,但它确实涉及一个函数并从页面读取数据.以是,它不是免费的.虽然,差异的数据库也许对字符串函数具有差异的机能特性. 应该存储的位置应该是您的应用措施的成果.假设您有一个应用措施,个中颜色将泛起给用户.有一天,您也许但愿以西班牙语,斯瓦希里语或中文表现颜色的名称.假如是这样,拥有一个单独的表使这种国际化更轻易.更平时的是,您也许但愿阻止输入“Grene”,假如是这样,拥有这样的表会使选择列表更轻易. 另一方面,假如示意是你独一存眷的题目,那就不会有所差异.在其他环境下,查找显露实上也许比非类型化表更快.当字符串很长时会产生这种环境,从而增进了较大表中每笔记录的长度.较大的表意味着更多的页面,这必要更长的时刻来加载到内存中. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |