I am not sure if this is the right place to ask this sort of question. If it's not, please feel free to close the issue.
I have an application where I need a single node to hold a large list of data (part numbers) that I can upload from a CSV file. This module seems to fit my needs.
I do wonder, though, if using this module is viable given the large number of records each table would have to hold: anything from a few hundred to several thousand, each record consisting of a string with anything from 10 to 30 characters.
So my question is: there is a limit in the number of rows a TableField can hold? If yes, what is that limit?
Also, are there performance considerations relative to the size of the data that I need to upload to the TableField?
Any advise would be greatly appreciated.
Thank you!
Comments
Comment #1
ilfelice commentedI went ahead and experimented with the above application. Reporting results so far, in case it is useful to others.
Was able to upload, without problems, a list of approx. 2K records (each record consisting of a string of 30 or less characters).
Saving the node took a while, and indexing the data required several (4) runs of cron.
I have not seem much of a performance problem so far, but I have only played a little with this, so will keep experimenting.
HTH.
Comment #2
kevin hankens commentedAwesome! Thanks for testing and posting the results :)
The limit on the data is really governed by the db column that the table stores. Currently it uses "text - big" which, according to drupal.org has a longtext/4GB limit! Probably not super efficient to push that so high :) However, it does let you get away with some pretty big CSVs.
If you push it to the point where performance stinks, please dig in and let us know how it could be more efficient.
Thanks again!
Comment #3
ilfelice commentedHi Kevin,
I don't anticipate the lists that I will be uploading to be more than a few 100 KB in size (maybe 1MB at most), so it looks like file size is not going to be a problem for me then. :)
I will be doing a bit more experimenting during the week to see if there are any performance issues and report back.
Thank you!
Comment #4
esbite commentedThis issue seems to have been solved.
Comment #5
farse commentedI've been wondering this too, and uploading a 2.5 MB file with about 16k rows (+ 6 columns) seems to have broke it. It doesn't seem to have any trouble with uploading the file, but looks like it fails when it tries to create the table.
I've then played with it trying to just 'Rebuild Table' with 10k rows and that seems enough to stall things, timed out at 5 minutes.
Everything timed out at 5 minutes until I got to about
4-5k, but even if it created the table it then had trouble saving it.
So realistically for me anything going over a few thousand rows started to slowly kill it.
But I ask the question, what kind of website really wants to print out a table with more than this many rows? Seems to me more logical to then just provide the CSV for download using a file field.