社区
基础编程
帖子详情
mysql中一个库最多可以建多少个表后,效率开始大幅度下降?
amtd
2000-11-26 04:53:00
加精
mysql中一个库最多可以建多少个表后,效率开始大幅度下降?
...全文
5895
5
打赏
收藏
mysql中一个库最多可以建多少个表后,效率开始大幅度下降?
mysql中一个库最多可以建多少个表后,效率开始大幅度下降?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
peacock
2000-11-28
打赏
举报
回复
谈什么分数,到这里来都是为了爱好,为了志同道合的朋友!
别担心效率问题,我在网上下载了几千篇文章(Delphi,VC++,C++Builder,PHP,MySQL,JSP,HTML,JavaScrip等),都Ctrl + C下来了,
然后Ctrl + V(所有内容)到我自己编的BBS中,效率非常好,非常快,感觉不出有几千篇文章容量的数据量。
MySQL当然可以存储图片,下面有一详细的文章(网上下的)
如何将图片储存在数据库里----
二进制数据 + MySQL + PHP
Or: 怎样在Mysql中直接储存图片
如果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据库,那么这篇文章就是为你而写的!
我将告诉你怎样通过HTML表单来储存这些文件,怎样访问和使用这些文件。
本文概述:
在mysql中建立一个新的数据库
一个怎样储存文件的例子程序
一个怎样访问文件的例子程序
在mysql中建立一个新的database
首先,你必须在你的mysql中建立一个新的数据库,我们将会把那些二进制文件储存在这个数据库里。在例子中我会使用下列结构,为了建立数据库,你必须做下列步骤:
进入MySql控制器
输入命令"create database binary_data;"
输入命令"use binary_data;"
输入命令"CREATE TABLE binary_data ( id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
description CHAR(50), bin_data LONGBLOB, filename CHAR(50), filesize CHAR(50), filetype CHAR(50));" (不能断行)
如果没有意外,数据库 和 表 应该建立好了。
一个怎样储存文件的例子程序 用这个例子你可以通过Html表单将文件传输到数据库中。.
store.php3
<?php
// store.php3 - by Florian Dittmer <dittmer@gmx.net>
?>
<HTML>
<HEAD><TITLE>Store binary data into SQL Database</TITLE></HEAD>
<BODY>
<?php
// 如果提交了表单,代码将被执行:
if ($submit) {
// 连接到数据库
// (你可能需要调整主机名,用户名和密码)
MYSQL_CONNECT( "localhost", "root", "password");
mysql_select_db( "binary_data");
$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
$result=MYSQL_QUERY( "INSERT INTO binary_data (description,bin_data,filename,filesize,filetype) ".
"VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");
$id= mysql_insert_id();
print "<p>This file has the following Database ID: <b>$id</b>";
MYSQL_CLOSE();
} else {
// 否则显示储存新数据的表单
?>
<form method="post" action=" <?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
File Description:<br>
<input type="text" name="form_description" size="40">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">
<br>File to upload/store in database:<br>
<input type="file" name="form_data" size="40">
<p><input type="submit" name="submit" value="submit">
</form>
<?php
}
?>
</BODY>
</HTML>
如果你执行了这个程序,你将会看见一个简单的Html表单,单击“浏览”选择一个文件,然后单击提交。
当文件上传至web服务器之后,程序将会告诉你刚刚上传的文件的ID,记住这个ID,待会要用的。
一个怎样访问文件的例子程序
你可以通过这个程序访问你刚才储存的文件
<?php
// getdata.php3 - by Florian Dittmer <dittmer@gmx.net>
// 调用方法: getdata.php3?id=<id>
if($id) {
// 你可能需要调整主机名,用户名和密码:
@MYSQL_CONNECT( "localhost", "root", "password");
@mysql_select_db( "binary_data");
$query = "select bin_data,filetype from binary_data where id=$id";
$result = @MYSQL_QUERY($query);
$data = @MYSQL_RESULT($result,0, "bin_data");
$type = @MYSQL_RESULT($result,0, "filetype");
Header( "Content-type: $type");
echo $data;
};
?>
程序必须知道要访问那个文件, 你必须将ID作为一个参数。
例如: 一个文件在数据库中的ID为2. 你可以这样调用它:
getdata.php3?id=2如果你将图片储存在数据库里, 你可以向调用图片一样调用它。
Example: 一个图片文件在数据库中的ID为3. 你可以这样调用它:
<img src="getdata.php3?id=3">
怎样储存大于1MB的文件:
如果你想储存大于1MB的文件,你必须对你的程序、PHP设置、SQL设置进行许多修改,。
下面几条也许可以帮助你储存小于24MB的文件:
修改 store.php3 ,将 MAX_FILE_SIZE 的值改成 24000000。
修改你的PHP设置,在一般情况下,PHP只允许小于2MB的文件,你必须将max_filesize(在php.ini中)的值改成24000000
去掉MYSQL的数据包大小限制,在一般情况下 MYSQL 小于1 MB的数据包.
你必须用以下参数重启你的MYSQL
/usr/local/bin/safe_mysqld -O key_buffer=16M -O table_cache=128 -O sort_buffer=4M -O record_buffer=1M -O max_allowed_packet=24M
如果仍然出错:
可能是超时错误,如果你通过一个很慢的连接来储存一个很大的文件,PHP缺省的时间限制为30秒。
你可以将max_execution_time(在php.ini中)的值改为-1
amtd
2000-11-28
打赏
举报
回复
还象请教一个问题,就是如果有几个录入文章的表。
我现在是采用文章内容生成文件,只保存url。但这样,多了,后我
发现非常难管理。如果我把文章的内容也存到表中,可以吗?
例如一个表中有1000篇以上的文章,这样回不回降低效率?
而且文章是每天都有加入。
还有就是mysql中可以保存图片吗?就象sql server一样。
谢谢你!回复后,我把分全加给你。
peacock
2000-11-27
打赏
举报
回复
才四十个,那还担心什么,看看这个,下面文章摘录至《MySQL中文参考手》中的一段文字。
-------------------------------------------------------------------------------
MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。
MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。
MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。
MySQL的官方发音是“My Ess Que Ell”(不是 MY-SEQUEL )。
-------------------------------------------------------------------------------
看到这里足够了吧!
虽然我没有这么大数据量,但是也有100多个表了,速度可以说是飞快(几乎每天都录入数据)
amtd
2000-11-27
打赏
举报
回复
我现在有个库,里面现在有尽40个表,我很担心效率问题。
peacock
2000-11-26
打赏
举报
回复
没有试验过,怎么?你遇到什么问题?
mysql
中
一个
表最多能有几个auto,
mysql
中
一個庫最多可以
建
多少個表后,
效率
開始
大幅度
下降
?...
#5談什么分數,到這里來都是為了愛好,為了志同道合的朋友!別擔心
效率
問題,我在網上下載了幾千篇文章(Delphi,VC++,C++Builder,PHP,
MySQL
,JSP,HTML,...
MySQL
當然可以存儲圖片,下面有一詳細的文章(網上下的)...
MySQL
调优-
MySQL
索引大总结
MySQL
调优-
MySQL
索引深入总结
MySQL
中
的全表扫描和索引树扫描
在使用explain时,我们可以观察到,explain的输出有
一个
很关键的列,它就是type属性,type表示的是扫描方式,代表
MySQL
使用了哪种索引类型,不同的索引类型的查询
效率
是不一样的。 在type这一列,有如下一些可能...
mysql
面试题总结
mysql
面试题总结
Mysql
中
的myisam与innodb的区别? InnoDB存储引擎的四大特性? 什么是事务? 数据
库
事务的四大特性? 不考虑事务的隔离性,会发生几种问题?
MySQL
数据
库
提供的四种隔离级别? 有多少种日志...
MySql
优化详解
MySql
基础知识请参考
MySql
详解基础 如果要永久开启慢查询日志,需要修改 文件,在 下增加修改参数。 (4)开启了慢查询日志后,什么样的SQL才会被记录到慢查询日志里面呢? 这个是由参数 控制的,默认情况下 的...
基础编程
21,891
社区成员
140,343
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章