spartinman — 2010-10-06T16:44:10-04:00 — #1
Is there any point when the wordpress database gets too big? What is an estimated size for when you should split the database working with mysql?
I know, may be a silly question but i am a rookie and just wanted to cover myself in this case which may occur soon for my sites.
wwb_99 — 2010-10-07T16:27:51-04:00 — #2
Databases don't get too big. Servers just need to be bigger.
erangalp — 2010-10-07T20:35:56-04:00 — #3
The database has gotten too big when the site gets too slow. There are usually warning signs - it doesn't get very slow suddenly.
In that case you either optimize it / replicate it / shard it / purge it from historical data. Worry about that when (and if) the time comes
felgall — 2010-10-07T22:05:08-04:00 — #4
The usual solution in that instance is to optimise it. Of course if that ever happens it means that the database wasn't designed properly in the first place.
Just about anything else is more likely to be the cause of the slowdow rather than the database.
erangalp — 2010-10-07T22:12:02-04:00 — #5
I have to disagree there. The database is the most resource intensive process on most sites, and often the cause of performance issues.
A database may be completely optimized and still grow beyond the capacity of one server to run it. In that case load balancing it on several servers via replication / sharding is the right course of action, instead of blaming it on bad database design. There are also optimizations that can not be foreseen before real-world usage stabilizes and careful profiling takes place.
There are other places to optimize in that respect, such as the queries themselves, caching and so forth.
mittineague — 2010-10-07T23:36:54-04:00 — #6
I have never experienced a loading slowdown, but my blog is small.
If you search I'm sure you'll find more complete analyses, but off the top of my head.
Reduce the number of db calls. eg. if your theme is relatively stable, you can hack the files, replacing calls like get_bloginfo('name') with the actual name.
Even if you have a lots of posts, they are only called for certain pages. Other things are called every page load i.e. options
WordPress has gotten better at self-cleaning old cached feed content, but if you have tried a lot of plugins/themes they may have added options that are left behind when you delete the plugin/theme (IMHO plugin authors should really be putting that into the plugin code, but ....)
I have heard from some of my plugin users that their load time improved a lot after they removed orphaned options. But the fact that older versions didn't remove cached feeds was the main culprit, some users had literally hundreds of obsolete rows bloating the options table.
And has been mentioned, optimizing the database from time to time isn't a bad idea either.
searcheccentric — 2010-10-08T05:36:48-04:00 — #7
Generally MySQL support limited database size.If you need large database,You should use RDBMS like Oracle.IT can handle large bulk of data.
r937 — 2010-10-08T07:15:53-04:00 — #8
this is nonsense
mysql databases can be as big as you need (e.g. terabytes)
sonnycool — 2011-01-14T14:36:09-05:00 — #9
Yes wp db seem like a bit incapable to handle huge DB.
For example :
2 millions tag.
on Quad Xeon
16 ecc ram.
Optimize every 3 day.
(MYSQL Hardware Spec)
Difficult to access Admin Panel (slow, very slow)
Difficult to delete post.
Difficult to edit post.
A lot user said that is my hardware issue, then i try to install another WP in same server but it run perfectly without problem or lag ...
some time it take ages to delete one single post, i'm not an in SQL expert or anything but my invision board can run and manage 4-5 gb DB without any problem.
timigoe — 2011-01-18T08:46:27-05:00 — #10
It might be worth rather than blaming mysql / wordpress - looking into things that can be done to help the performance.
Wordpress does a lot of queries during the loading of each page, which, most of the time will be the same - install a Wordpress Caching system to cache the generated pages for a short period, this will massively reduce the load on the server.
bimalpoudel — 2011-01-18T13:26:55-05:00 — #11
Here is one text from mysql manual:
"We use MySQL Server with databases that contain 50 million records. We also know of users who use MySQL Server with 60,000 tables and about 5,000,000,000 rows."
Wordpress MU Version's database can swell too quickly than the normal installation. However, if your server's resources are enough, there should be no big issue with size of the content in your database.
Take a look by logging wordpress sqls (it is in db wrapper: wp-includes/wp-db.php): If you dump the query to a file, you can see each sqls being run there. You can easily guess what changes you need to do on the database to optimize it.
sonnycool — 2011-03-13T19:06:52-04:00 — #12
Test i did :
I create another identical wp site it same server, start from 100k post till 400k post in a week time, every work well till it reach 400k post, same identical issue happen ...
I repeat again with third installation and same step i going, same thing happen when it reach 400k post.
I try again, same issue, then last (5 installation), everything run smoothly till 400k post .....
Now i 5 wp in my server with total 2 million post, server still smooth, only issue is freeze up when entering edit.php .....
In past few month i do a lot google reading, it seem like no one can pass 500k post with wp standard db ....
So is server issue like you said or wp core n mysql issue (as this thread topic) ? wp standard can't handle huge sql db ...
spartinman — 2011-03-17T13:15:29-04:00 — #13
Caching has worked wonders lately for my big mysql databases via wordpress. But how long until the caching would become an issue with when wordpress actually builds the cache from big hits of traffic? I guess that is why you need to tweak the cache you have setup for length of time for rebuild, garbage collection etc.