我有一个Ruby on Rails站点,只需要很短的一段时间,在此期间用户将各种对象添加到mySQL数据库中,对它们进行评论,将自己与它们关联,等等。
问题是:这个网站不再需要,直到明年的一周左右,那时我将清除数据库并再次使用它(从头开始)。存档当前站点的最好方法是什么,以便现有内容仍然可见,但不能添加新内容?最好的方式,我指的是使用最少系统资源的方法,服务器将是最安全的,等等。
有什么建议吗?
我的理解是,即使我需要像select name from customer where id=1这样读取单个记录,我也需要在内存中读取完整的特定块(可以从列ID的索引中找到块地址)。然后,MySQL遍历该块上的所有记录,以找到该特定记录。是这样吗?
我认为MySQL在磁盘上写入的默认块大小为16 of (来自谷歌)。另外,从google的不同来源,我知道从磁盘(HDD)读取100 to数据的平均时间是1秒左右。这意味着读取块的平均查找时间应该在16/(100* 1000)秒左右。对吗?
我正在MYSQL中尝试执行这个查询。
SELECT FirstName,LastName
CONCAT(COALESCE(Address1, ''),
COALESCE(Address2, '')) AS Address2,
(SELECT GROUP_CONCAT(EmpDept ' ') FROM EMP_DEPT
USE INDEX (EMP_DEPT_IDX)
WHERE EMP_DEPT.EMP_ID = EMP.EMP_ID) AS DEPT,
COUNT(PIN) AS PIN,
我一直在阅读关于mysql_fetch_*方法的文章。这是我从PHP.org网站上学到的。
mysql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
mysql_fetch_assoc — Fetch a result row as an associative array
mysql_fetch_object — Fetch a result row as an object
mysql_fetch_row — Get a result row as an enumerat
这是我的小脚本
$item="Inception";
$query="SELECT * FROM items WHERE item = '{$item}' LIMIT 1";
$result=mysql_query($query);
while ($row = mysql_fetch_array($result)) {
$item_id = $row['items_id'];
}
$sql="SELECT AVG(rating) AS AverageRating FROM ratings WHERE i
好吧,所以我天生就害怕一切,MySQL
这是我的桌子:
+----+-----------------+------+
| id | name | age |
+----+-----------------+------+
| 1 | Timmy Mellowman | 23 |
| 2 | Jeff Johnson | 18 |
+----+-----------------+------+
这是我的PHP code (连接到DB之外)
$raw = mysql_query("SELECT * FROM example") or di
每次我运行mysql_fetch_array时,都会返回一个带有重复值的数组,,例如,
Array
(
[0] => 1
[row_id] => 1
[1] => some text
[first_field] => some text
[2] => some text
[second_field] => some text
}
但是我只想要数组中的单个结果,我已经尝试使用
mysql_fetch_array($data, MYSQL_ASSOC);
但这没什么区别。