If we have table such as this
message: Id (INT) | message(TEXT) | date(TIMSTAMP)
And lets imagine that there is constantly data comming into this table. For example
1, 'Hello World', 12345678;
2, 'Yoooo Whats Up', 12345679;
3, 'My name is Hal!', 12345680;
Now this table is huge and is never deleted
SELECT * FROM articles WHERE MATCH (message) AGAINST ('Hal');
Now would this be feasable and what are the pitfalls
I was also thinking to have a group value that group each day. Because most of the queries are represented what came in on what day so if we change the DB structure to
message: Id (INT) | group(INT) | message(TEXT) | date(TIMESTAMP)
Where the group is an ID value that will be incremented once we are into a new day
Also what would be the best way to increment the group, Can it done be using MySQL or do we have to do it programaticly
Then we could do this to cut down time by using the below
SELECT * FROM articles WHERE MATCH (message) AGAINST ('Hal') WHERE group=3;
Let me know your thoughts or ideas on what would be the best way to store a huge database table and query it to return specific values.