如图,我在mysql数据库中建立tab_pic数据表,用于存储不同用户上传的图片的信息。
现在突然有个疑惑,要是该表中数据量叫多时(比如数十万条乃至数百万条不同记录),此时再从该表中查询某个用户在某个固定时间段的10张图片信息,我想对系统性能可能会产生不小的压力。
后来我想到的方法是为每个用户建立一张该用户上传图片的表,不知这样可否?请教各位数据库大拿们,希望大拿们给个解决方法

解决方案 »

  1.   

    用字段保存路径名及文件名,使用时再调用,如果用户比较多,可以考虑
    按用户分区。
      

  2.   

    图片存放在数据库里对数据库的性能影响很大的,最好把图片的路径存放数据库表某
    个字段中。
      

  3.   

    根据用户id 取10余数 建立分表
    取数据的时候
    到对应的分表里去查找
    这样单表数据量将只是原来的十分之一
    如果你之前有百万条数据 那用这种方法只需要在十万条数据里查找就可以了
      

  4.   

    其实 直接写入在硬盘里 通过IO读取的时候 性能不见得有多个高
      

  5.   

    数据库存放图片的路径,的确图片放在硬盘上。对I/O操作的确很大,但做成
    分布式文件系统,不就提高系统的性能了。
      

  6.   

    一般是把图片直接存储在磁盘上,然后在数据库中仅保存图片文件的名称。