We are using mysql. We have a huge table which contains 1 billion rows. The engine is InnoDB. And we have 50% SELECT, 30% UPDATE, OTHER 20% per minute. We want to improve the performance, so we split the single table into multi ones. But by splitting, we saw the performance didn’t improved a bit. Why? Is it the common sense that split table will improve performance?
The server is 4-core, SCSI RAID 5 Hard Disk, 32GB memory. Just one single server.
Based on the info in your question: You have a single RAID Set.
So when you had the single table it was on that RAID Set. When you split the table, both of the new tables were on the same RAID Set. So you get no performance benefit.
You actually get a performance hit since you now have to handle 2 tables.
To get a performance boost you need minimum to put the data on different disks, preferably use sharding to place the data on different servers.
For some comparison see: http://xeround.com/blog/2011/11/mysql-sharding-vs-mysql-partitioning