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条)

报告相同问题?

悬赏问题

  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
  • ¥30 python,LLM 文本提炼
  • ¥15 关于将inet引入的相关问题
  • ¥15 关于一个倒计时的操作和显示设计
  • ¥15 提问STK的问题,哪位航天领域的同学会啊
  • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 如何卸载arcgis 10.1 data reviewer for desktop