50 things that must be known before migrating from Oracle to Mysql 1. The optimization of subqueries is not doing well. 2. Weak processing of complex queries 3. Immature query optimizer 4. Insufficient performance optimization tools and measurement information 5. Weak audit functions 6. Immature security functions, even rough. There is no concept of user groups and roles, and no collection
50 things that must be known before migrating from Oracle to Mysql 1. The optimization of subqueries is not doing well. 2. Weak processing of complex queries 3. Immature query optimizer 4. Insufficient performance optimization tools and measurement information 5. Weak audit functions 6. Immature security functions, even rough. There is no concept of user groups and roles, and no collection
50 things you must know before migrating from Oracle to Mysql
1. subquery optimization is not good.
2. Weak processing of complex queries
3. the query optimizer is not mature enough.
4. Insufficient performance optimization tools and measurement information
5. Relatively weak audit functions
6. Immature security functions, or even rough. There is no concept of user groups and roles, and there is no permission revocation function (only permissions can be granted ). When a user logs on from a different host/network with the same user name/password, it may be treated as a completely different user. There is no built-in encryption function similar to Oracle.
7. the authentication function is fully built-in. LDAP, Active Directory, and other similar external authentication functions are not supported.
8. Mysql Cluster may be significantly different from what you think.
9. The functions of stored procedures and triggers are limited.
10. The vertical scalability is weak.
11. MPP (large-scale parallel processing) is not supported ).
12. supports SMP (symmetric multi-processor). However, if each processor has more than 4 or 8 cores, Mysql has poor scalability.
13. For time, date, interval, and other time types, there is no storage type of the second level or lower.
14. The language functions used to write stored procedures, triggers, scheduled events, and stored functions are weak.
15. There is no roll-back-based recovery function, and only roll-forward recovery is available.
16. The snapshot function is not supported.
17. database link is not supported ). There is a storage engine called Federated that can pass query statements to a table on a remote server as a transit server. However, it has many features and vulnerabilities.
18. Data Integrity check is very weak. Even basic integrity constraints are often not executable.
19. There are very few optimizer prompts for optimizing the query statement execution plan.
20. There is only one table connection type: nested loop join (nested-loop). Sorting-merge join (sort-merge join) and hash join are not supported ).
21. Most queries can only use a single index on a table. In some cases, multiple indexes are used for queries, but the query optimizer usually underestimate the cost, they are often slower than table scans.
22. bitmap indexes are not supported ). Each storage engine supports different types of indexes. Most storage engines Support B-Tree indexes.
23. Fewer management tools and immature functions.
24. No mature IDE tools and debugging programs that are satisfactory. You may have to write a stored procedure in a text editor and perform debugging by inserting records into the table (debug log table.
25. Each table can use a different storage engine.
26. Each storage engine may have significant differences in behavior, features, and functions.
27. Most storage engines do not support foreign keys.
28. The default storage engine (MyISAM) does not support transactions and is vulnerable to corruption.
29. The most advanced and popular storage engine InnoDB is owned by Oracle.
30. Some execution plans only support specific storage engines. A specific type of Count query is executed quickly in this storage engine, and may be slow in another storage engine.
31. The execution plan is not shared globally. It is shared only within the connection.
32. Full-text search is only applicable to non-transactional storage engines. Ditto is used for GIS/spatial type and query.
33. No resource control. A completely unauthorized user can consume all the memory of the server and cause it to crash, or use up all the CPU resources.
34. There are no software packages integrated with business intelligence and OLAP multi-dimensional data sets.
35. No tool similar to Grid Control (http://solutions.mysql.com/go.php? Id = 1296 & t = s)
36. There is no function similar to RAC. If you ask "How to use Mysql to construct RAC", you can only say that you are wrong.
37. User-defined types or domains are not supported ).
38. The maximum number of connections supported by each query is 61.
39. A small part of the SQL syntax supported by MySQL (ansi SQL standard. Recursive queries, common table expressions (with statements in Oracle), and window functions (analysis functions) are not supported ). It supports some SQL syntax extensions similar to Merge or similar features, but it is very simple compared with Oracle.
40. Function columns are not supported. (For columns Based on computing or expressions, Oracle11g supports calculation columns. in earlier versions, virtual columns (rownum and rowid) are supported )).
41. function indexes are not supported. You can only create an index based on a specific column.
42. materialized views are not supported.
43. statistics vary greatly between different storage engines, and all statistics supported by storage engines only support simple cardinality) and the number of records in a certain range (rows-in-a-range ). In other words, data distribution statistics are limited. There are not many mechanisms for updating statistics.
44. There is no built-in load balancing and Failover mechanism.
45. Replication is asynchronous and has many limitations. For example, it is a single-thread (single-threaded), so it is difficult to keep up with the Master with a higher processing capability.
46. The Cluster is not as perfect as imagined. I may have mentioned this, but it is worth repeating.
47. The INFORMATION_SCHEMA function is very limited and the access speed is very slow (it is easy to crash on busy systems ).
48. Online Alter Table operations are not supported.
49. Sequence is not supported.
50. operations similar to alter table or create table are non-transactional. They commit uncommitted transactions and cannot roll back or perform disaster recovery. Schame is stored on the file system, which is irrelevant to the storage engine it uses.