当前位置:网站首页>Why disable foreign key constraints
Why disable foreign key constraints
2022-04-23 15:39:00 【dengk2013】
【 Ali JAVA standard 】 : Do not use foreign keys and cascades , All foreign key concepts must be solved in the application layer
Why Alibaba stipulates so ?
1. Every time I do DELETE perhaps UPDATE Must consider foreign key constraints , It can lead to painful development , The test data is extremely inconvenient , That is, when inserting a master record , At this time, the foreign key corresponding to the master record , You must also delete or update , Another example is a tester doing a stress test 1000W data , At the same time, the corresponding foreign key record table should also be stored 1000W, You need to build 2000W data , Increase the workload
2. Performance issues : For records containing primary key tables , Need warehousing 2 A watch
3. Concurrency issues : Foreign key constraints enable row level locks When the main table is written, it will enter blocking , For example, there are foreign keys in order details and order total , When adding order details , However, if the write operation of the total order table is not completed, the details will be blocked , Threads are always overstocked, resulting in mysql collapse .
4. Cascade deletion problem : Multiple cascading deletions can make data uncontrollable ; Triggers are also strictly disabled
5. Data coupling : Coupling of data relations at the database level Data migration and maintenance are difficult
6. If mysql The data reached 100 More than hundred million , Data migration is required at this time , For example, migrate to hbase, because hbase There is no relationship between primary and foreign keys , There is no checking of the relationship between main and foreign keys in program , There is no guarantee of data consistency in the migration process
版权声明
本文为[dengk2013]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231537380128.html
边栏推荐
- After time judgment of date
- Code live collection ▏ software test report template Fan Wen is here
- Wechat applet customer service access to send and receive messages
- php函数
- 什么是CNAS认证?CNAS认可的软件测评中心有哪些?
- Elk installation
- What if the server is poisoned? How does the server prevent virus intrusion?
- JVM-第2章-类加载子系统(Class Loader Subsystem)
- 时序模型:长短期记忆网络(LSTM)
- Cookie&Session
猜你喜欢
随机推荐
2022年中国数字科技专题分析
PHP PDO ODBC loads files from one folder into the blob column of MySQL database and downloads the blob column to another folder
群体智能自主作业智慧农场项目启动及实施方案论证会议
Do keyword search, duplicate keyword search, or do not match
基础贪心总结
携号转网最大赢家是中国电信,为何人们嫌弃中国移动和中国联通?
Code live collection ▏ software test report template Fan Wen is here
通过 PDO ODBC 将 PHP 连接到 MySQL
布隆过滤器在亿级流量电商系统的应用
服务器中毒了怎么办?服务器怎么防止病毒入侵?
YML references other variables
Elk installation
Upgrade MySQL 5.1 to 5.69
cadence SPB17.4 - Active Class and Subclass
[backtrader source code analysis 18] Yahoo Py code comments and analysis (boring, interested in the code, you can refer to)
What exactly does the distributed core principle analysis that fascinates Alibaba P8? I was surprised after reading it
Mysql database explanation (IX)
pgpool-II 4.3 中文手册 - 入门教程
【递归之数的拆分】n分k,限定范围的拆分
多生成树MSTP的配置