我想知道当我在MySQL中使用UUID作为主键时,如何或会影响服务器的性能。当我在MySQL中使用UUID作为主键时,如何影响性能
0
A
回答
1
我想你正使用InnoDB(反正你应该......)
因此,阅读从高性能的MySQL 2ED,第117页以下章节:http://books.google.com.hk/books?id=BL0NNoFPuAQC&lpg=PA117&ots=COPMBsvA7V&dq=uuid%20innodb%20clustered%20index%20high%20performance%20mysql&pg=PA117#v=onepage&q&f=false
一般来说,UUID是一个贫穷从性能角度来看(由于聚集索引),他们有一个基准来证明这一点。
1
UUID长度为36个字符,即36个字节。 INT是4个字节,其中TINYINT,MEDIUMINT和BIGINT的变体均小于36个字节。
因此,对于您插入的每条记录,您的索引将分配更多空间。 另外,UUID花费更多的时间来计算与增加整数相反的值。
至于它对系统有多大影响,很难给出实际的数字,因为存在各种因素 - 系统负载,硬件等等。
相关问题
- 1. 使用UUID作为Django模型中的主键(通用关系影响)
- 2. 主键对SQLite性能的影响
- 3. 我应该在MySQL中使用int或char作为id的/ uuid(主键)吗?
- 4. 行设计如何影响MySQL性能?
- 5. 如何使用UUID作为Hibernate实体的主键?
- 6. 更新具有相同值的主键时的性能影响
- 7. PHP的mysql_insert_id()为MySQL的UUID()主键?
- 8. MySQL Workbench为主键自动生成UUID
- 9. 数据库中的UUID或GUID作为主键。我应该何时使用它,何时不应该使用它?
- 10. 使用Oracle DBMS_WM.EnableVersioning时的性能影响
- 11. 如何在JAVA UUID中使用.net GUID作为mongodb集合的主键
- 12. 使用UUID与UNIQUE索引相比作为PK的影响?
- 13. 使用UUID作为在轨和多晶型关系的主键
- 14. 实现作为主键的UUID
- 15. 自定义UUID作为主键
- 16. MySQL UUID主键 - 由PHP或MySQL生成?
- 17. 使用VBA和ADO创建MDB表,如何自动使用UUID作为主键?
- 18. 在SQL中,如何使用DISTINCT影响性能?
- 19. 性能影响
- 20. 如果使用MySQL保留关键字作为字段/表/数据库名称,会影响性能吗?
- 21. 作为MySQL表主键处理大型(UUID)的最佳方式
- 22. 如何在MYSQL中匹配外键和主键时使用SUM
- 23. 主键数据类型是否影响性能? SQL Server 2008
- 24. 在生产中使用ActionCable时,性能是否会影响?
- 25. 在Python中使用long和int时的性能影响
- 26. Rails 5 - 迁移到使用UUID作为主键
- 27. 如何将主键作为外键不止一次地在mysql表中使用?
- 28. MySQL - 使用字符串作为主键
- 29. LIMIT子句对MySql性能的影响?
- 30. 影响JOIN在性能
是的,我正在使用InnoDB ...我工作的公司中的一些应用程序使用UUID作为主键,但我不确定是否应该继续使用它。我想我不需要UUID键,所以也许我会停止使用它们。 – PachinSV 2011-04-27 19:31:38
是的,如果性能至关重要,请在将来避免它。 – tszming 2011-04-28 02:24:07