小编kno*_*orv的帖子

如何从.ibd文件重新创建MySQL InnoDB表?

假设已从备份磁带还原以下MySQL文件:

  • tablename.frm
  • tablename.ibd

此外,假设MySQL安装正在运行,innodb_file_per_table并且数据库已完全关闭mysqladmin shutdown.

鉴于从恢复的MySQL文件中取出的相同MySQL版本的全新安装,如何将数据from tablename.ibd/ tablename.frm导入到这个新安装中?

mysql innodb disaster-recovery

20
推荐指数
1
解决办法
4万
查看次数

MySQL在使用ORDER BY时不使用索引("使用filesort")

由于在我的SQL代码中使用了"ORDER BY" - 语句,我遇到了一些非常重要的性能问题.

只要我没有在SQL中使用ORDER BY语句,一切都很好.但是,一旦我在SQL代码中引入ORDER BY:s,由于缺少正确的索引,一切都会显着减慢.人们会认为解决这个问题是微不足道的,但从论坛讨论等方面来看,这似乎是一个相当普遍的问题,我还没有看到这个问题的明确和简洁的答案.

问题:鉴于下表......

CREATE TABLE values_table (
  id int(11) NOT NULL auto_increment,
  ...
  value1 int(10) unsigned NOT NULL default '0',
  value2 int(11) NOT NULL default '0',
  PRIMARY KEY  (id),
  KEY value1 (value1),
  KEY value2 (value2),
) ENGINE=MyISAM AUTO_INCREMENT=2364641 DEFAULT CHARSET=utf8;

...如何在对value2的值进行排序时创建在查询表中的时使用的索引?

目前,在不使用ORDER BY子句时,提取正常.

请参阅以下EXPLAIN QUERY输出:

OK, when NOT using ORDER BY:

EXPLAIN select ... from values_table this_ where this_.value1 between 12345678 and 12349999 limit 10;

+----+-------------+-------+-------+---------------+----------+---------+------+------+-------------+
| id | select_type …

mysql optimization performance

18
推荐指数
1
解决办法
1万
查看次数

从一开始就使用Unicode支持设计了哪些编程语言?

哪些广泛使用的编程语言是在支持Unicode的基础上设计的?

许多编程语言在后来的版本中添加了Unicode支持,但是从第一天开始就使用Unicode支持广泛使用哪种语言?

unicode programming-languages localization language-design internationalization

18
推荐指数
7
解决办法
3950
查看次数

MySQL中的默认排序顺序(ALTER TABLE ... ORDER BY ...;)

假设通过执行以下命令来更改MySQL表(ISAM)的默认顺序:

ALTER TABLE tablename ORDER BY columnname ASC;
Run Code Online (Sandbox Code Playgroud)

从现在开始,我保证以"columnname ASC"的顺序获取从表中检索到的记录,假设在我的查询中没有指定"ORDER BY"(即"SELECT*FROM tablename WHERE ... LIMIT 10;")?

我应该注意哪些角落?

更新#1:非常感谢Quassnoi,他正确地指出INSERT和DELETE会扰乱排序.这引出了以下额外问题:

  • UPDATE怎么样?假设没有对表进行INSERT或DELETE,只进行更新 - 排序顺序是否完整?
  • 假设INSERT和DELETE已经完成 - 我如何再次"重建"排序,比如说每天一次(在这种特定情况下,表每天只会更改,因此在更改完成后每天重建它应该仍然可以!).REPAIR TABLE是否修复它,或者必须再次添加ALTER TABLE ... ORDER BY?

mysql sorting alter-table

17
推荐指数
2
解决办法
3万
查看次数

什么是"SELECT*FROM table_name;"的MySQL行顺序?

假设向MySQL数据库发出以下查询:

SELECT * FROM table_name;
Run Code Online (Sandbox Code Playgroud)

请注意,没有 ORDER BY给出任何条款.

我的问题是:

MySQL是否给出了结果集行的顺序保证?

更具体地说,我可以假设行将按插入顺序返回吗?这与行插入表中的顺序相同.

mysql select sql-order-by

17
推荐指数
3
解决办法
9961
查看次数

如何在Perl中将命令行参数视为UTF-8?

如何@ARGV在Perl中将UTF-8 的元素视为?

目前我正在使用以下解决方案..

use Encode qw(decode encode);

my $foo = $ARGV[0];
$foo = decode("utf-8", $foo);
Run Code Online (Sandbox Code Playgroud)

..哪个有效,但不是很优雅.

我使用的是Perl v5.8.8,它是从bash v3.2.25调用的,LANG设置为en_US.UTF-8.

unicode perl utf-8

17
推荐指数
2
解决办法
6509
查看次数

加快从MyISAM到InnoDB的转换

我有一个MySQL 1.5 GB MyISAM表(1.0 GB数据,0.5 GB索引)正在制作中,我即将转换为InnoDB.

由于该表用于生产,我希望尽可能缩短停机时间.

我的问题:

  • 应该调整哪些MySQL配置选项以加快速度ALTER TABLE table_name ENGINE=InnoDB;

  • 为了加快生产数据库表从MyISAM到InnoDB的转换,可以使用哪些其他技巧?

mysql optimization myisam innodb

17
推荐指数
1
解决办法
6821
查看次数

在Grails/GORM中定义默认排序顺序

假设我已经使用GORM定义了一个User对象.每个用户可以拥有零个或多个Login:s.每个登录都有一个时间戳.检索user.logins时,我希望根据login.date的值对登录进行排序.什么是正确的Grails方法来实现这一目标?

示例:我希望以下代码按升序列出所有用户的登录名.

<g:each var="login" in="${user.logins}">
  <tr>
    <td>${login.date}</td>
  </tr>
</g:each>
Run Code Online (Sandbox Code Playgroud)

这些是引用的类:

class User {
  ...
  def hasMany = [logins: Login]
  static fetchMode = [logins: "eager"]
}

class Login {
  Date date
  ...
  def belongsTo = [User]
}
Run Code Online (Sandbox Code Playgroud)

我正在运行Grails 1.0.4,这是最新的稳定版本.

grails grails-orm gsp

16
推荐指数
3
解决办法
2万
查看次数

常见的Perl内存/参考泄漏模式?

我在Perl代码库中追逐几个潜在的内存泄漏,我想知道Perl中有关内存(错误)管理的常见缺陷.

您在Perl代码中观察到的常见泄漏模式是什么?

perl memory-leaks

14
推荐指数
3
解决办法
4690
查看次数

使用Firebug编辑后保存操作的DOM/HTML

假设我已经在一个随机网站上启用了Firebug并启动了Firefox(比如slashdot.org).加载网站后,我开始使用Firebug > HTML面板编辑页面.到目前为止一切顺利:我的更改在Firefox中立即可见.

我的问题:

  • 如何保存已编辑的DOM树(表示为HTML)?
  • 如何将以前操作的DOM树/ HTML文件加载到页面的"原始上下文"中(示例中为slashdot.org)?我想要原始上下文,以便正确加载所有引用实体(CSS,图像等).

html firefox firebug dom

13
推荐指数
2
解决办法
3万
查看次数