dongluedeng1524 2012-03-26 10:59
浏览 13
已采纳

如何在mysql数据库中保存大文件

I'm trying to upload a 10Mb file in mysql database, the datatype of the field is LONGBLOB and I have already configured the max allowed packet in my.ini file but I still can't save the file. Files lower than 10Mb can be saved in the database so I'm wondering why it can't be saved. Are there any other places I need to check to get this to work?

max_allowed_packet = 1024M

This is how I get the data:

$data = $dbLink->real_escape_string(file_get_contents($_FILES['uploaded_file']['tmp_name']));
  • 写回答

4条回答 默认 最新

  • dongsiju1941 2012-03-26 11:54
    关注

    Don't do that

    TEXT and BLOB is stored off the table with the table just having a pointer to the location of the actual storage.

    When a table has TEXT or BLOB columns, the table can't be stored in memory. This means every query (which doesn't hit cache) has to access the file system - which is orders of magnitude slower than the memory.

    Instead save the path of the file in DB.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?