+1  A: 

definitely use partitioning. why go to all of the hassle to figure out which table to use to answer a question when mysql will do it for you? and good luck find the current location of all of your trucks if you're not using partitioning!

  1. partitioning gives you the performance benefits of multiple tables, but with automatic pruning (selection of just the tables needed to answer the query).

  2. nothing is ever "best". the question is: what is best for your problem?

  3. this is impossible to answer. you will just have to monitor your system for performance issues and adjust server settings or scale as necessary.

  4. at least as far as mysql is concerned, none as good as partitioning!

longneck
A: 

There should be very little performance difference between making a separate table for each vehicle, and making the vehicle ID the first field in the primary key. You get the same grouping on disk either way, and mysql should have no trouble with millions of rows in a table.

Partitions are only useful if you have multiple disks on your machine and want to spread the load across disks.

So I guess my answer is do neither. Designing this in a priori seems overkill.

Keith Randall
Ohh is it..then What if I have a single disk..do u want to say partiton wont work with single disk???
hrishi
Yes, partitioning won't make it run any faster if you have only one disk.
Keith Randall
A: 

Don't bother with partitioning for 28,800 rows per day.

We don't (yet) with over 5 million per day. (The "yet" means we have no business input on what data retention policy they want)

gbn
Hi..28,800 rec for a single device consider such 100 devices..then will sql server perform good for 28,800,800 records per day...Thanx
hrishi
@hrishi: that's different. However, for 100 it's still 2,880,000, half what we have
gbn
A: 

One thing I want to point out is that having one table (which you can partition later when you need to) will be much easier to maintain both in the database and in terms of querying the data.

HLGEM