标签: mysql5

MySQL性能:单表或多表

我有每组约有30,000行的8组数据,数据是针对不同语言的相同结构.

该站点的前端将获得相对较高的流量.

所以我的问题是关于MySQL性能,如果我应该有一个表有一列来区分数据所属的集合(即coloumn"language")或为每种语言集创建单独的表?

(解释为什么如果可能会真的有用)

在此先感谢Shadi

mysql optimization performance mysql5

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

休眠:org.hibernate.AssertionFailure:com.xxx.Bean 条目中的空 ID

我面临以下错误:

com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract void com.xxx.Service.save(com.xxx.Bean)' threw an unexpected exception: org.hibernate.AssertionFailure: null id in com.xxx.Bean entry (don't flush the Session after an exception occurs)
    at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:680)
Caused by: org.hibernate.AssertionFailure: null id in …
Run Code Online (Sandbox Code Playgroud)

java mysql hibernate mysql5 hibernate3

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

MySQL 5.0.x FEDERATED表创建的正确语法?

所以我正在尝试使用文档中的语法创建联合表.在此之后,我创建了一个这样的表:

CREATE TABLE `federated_table` (
  `table_uid` int(10) unsigned not null auto_increment,
  ...,
  PRIMARY KEY (`table_uid`)
) ENGINE=FEDERATED DEFAULT CHARSET=latin1 CONNECTION='mysql://user:password@host.name:3306/';
Run Code Online (Sandbox Code Playgroud)

每次我这样做,我都会收到错误:

ERROR 1432 (HY000): Can't create federated table. The data source connection string 'mysql://user:password@host.name:3306/' is not in the correct format
Run Code Online (Sandbox Code Playgroud)

我查看了文档,我相信我正在关注这些文档.此连接字符串的正确语法是什么?

mysql mysql5 mysql-5.0 federated-table

3
推荐指数
1
解决办法
976
查看次数

如何强制MySQL退出传统模式?

我有一个旧的应用程序,从MySQL 5.0升级到5.1后开始失败.

一些研究表明这是由于"严格模式"导致阻止插入某些类型的"无效"值,这些值之前只是自动转换为合理的值.

我试过SET @@SESSION.sql_mode = ''SET @@GLOBAL.sql_mode = '',但我仍然得到错误.

也尝试在评论sql_modemy.ini.

有没有更强大的"核"选择来解决这个问题?

mysql mysql5

3
推荐指数
1
解决办法
2216
查看次数

在MySQL5中添加复合外键失败

我试图强制用户的地址信息中的州/省和国家名称来自我列出国家和州/省的一组表格.为了做到这一点,我尝试运行这样的alter table命令......

ALTER TABLE User
    ADD FOREIGN KEY (stateProvince,country)
    REFERENCES `StateProvince`(`name`,`countryName`);
Run Code Online (Sandbox Code Playgroud)

然后我收到这条消息......

使用外键约束创建表'realtorprint_dev/#sql-d5c_3d'失败.引用的表中没有索引,其中引用的列显示为第一列.

有没有人知道如何处理此错误消息?

这是州和国家表的创建......

CREATE TABLE Country (
  name varchar(40) NOT NULL,
  abbreviation varchar(4) NOT NULL,
  PRIMARY KEY  (name)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

CREATE TABLE StateProvince (
  countryName varchar(40) NOT NULL,
  name varchar(100) NOT NULL,
  abbreviation varchar(3) NOT NULL,
  PRIMARY KEY  (countryName,name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

alter table StateProvince
add constraint FK_StateProvince_Country
foreign key (countryName)
references Country (name);
Run Code Online (Sandbox Code Playgroud)

现在对于用户表...

create table realtorprint_dev.user (
  id bigint not null,
  created datetime, …
Run Code Online (Sandbox Code Playgroud)

mysql mysql5 foreign-key-relationship composite-key

3
推荐指数
1
解决办法
1808
查看次数

相当于"SELECT*FROM(SELECT table_name FROM ...)"的东西?

此查询运行,但它会生成表的名称,而不是从该表中实际选择.

SELECT T.* 
  FROM (SELECT tablename 
          FROM ListOfTables 
         WHERE id = 0) AS T
Run Code Online (Sandbox Code Playgroud)

在ListOfTables包含的地方id=0, tablename='some_table',我想返回相同的结果集,就好像我直接写了一样:

SELECT * FROM some_table
Run Code Online (Sandbox Code Playgroud)

在MySQL 5中是否有以本机方式执行此操作,或者我是否必须在应用程序中执行此操作?

mysql sql mysql5 dynamic-sql

3
推荐指数
1
解决办法
2751
查看次数

MySQL唯一键仅在另一个键包含特定值的情况下

我有一个包含用户元数据的表.有4个领域......

`ID`,`meta_name`,`meta_value`,`user_id`
Run Code Online (Sandbox Code Playgroud)

我想在此表中存储电子邮件.当然,这些必须是独一无二的.但是我想在此表中存储其他数据,其中数据不需要是唯一的.有没有什么方法可以限制'meta_value'为独特,只有'meta_name'等于'电子邮件'?

mysql mysql5

3
推荐指数
1
解决办法
1580
查看次数

Mysql查询性能.哪一个最好?

嗨,我想知道哪种查询适用于多个表.

例如:

select table1.id, table1.name from table1,table2,table3 
where table1.id=table2.id and table2.id=table3.id
Run Code Online (Sandbox Code Playgroud)

要么

select table1.id, table1.name  
from table1 
inner join table2 on table1.id=table2.id 
inner join table3 on table2.id=table3.id 
where 1
Run Code Online (Sandbox Code Playgroud)

要么

select table1.id, table1.name 
from table1 
join table2 on table1.id=table2.id 
join table3 on table2.id=table3.id 
where 1
Run Code Online (Sandbox Code Playgroud)

哪种查询最适合性能?

mysql sql performance mysql5

2
推荐指数
1
解决办法
193
查看次数

MySQL Query Join从两个表中选择不匹配的行

我有两张桌子如下.


user_id   |   username        |  first_name |   role_type
-----------------------------------------------------------
1         |   testuser1       |  testu1     |    student
2         |   testuser2       |  testu2     |    student
3         |   testuser3       |  testu3     |    student
4         |   testuser4       |  testu4     |    student
5         |   testuser5       |  testu5     |    student
6         |   testuser6       |  testu6     |    admin
7         |   testuser7       |  testu7     |    admin
-----------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
user_id   |   username         |    approved_id
----------------------------------------------------------------------
1         |   testuser1        |  3B888F52-50BC-11E2-B08B-99E5B2CADDF7
2         |   testuser2        |  3B888F52-50BC-11E2-B08B-99E5B2CADDF7
3         |   testuser3        |  3B888F52-50BC-11E2-B08B-99E5B2CADDF7 …
Run Code Online (Sandbox Code Playgroud)

mysql sql join mysql5

2
推荐指数
1
解决办法
9227
查看次数

如何从mysql5中的父表中删除数据?

嗨,我正在使用mysql5 innoDB数据库.我想强制删除父行及其相关子表数据的数据.我怎样才能做到这一点.任何人都可以帮助我.

mysql sql mysql5 cascading-deletes

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

链接MySQL中的2个ID

我有这张桌子

CREATE TABLE IF NOT EXISTS `links` (
  `link_id` int(20) NOT NULL AUTO_INCREMENT,
  `item1_id` int(20) NOT NULL,
  `item2_id` int(20) NOT NULL,
  PRIMARY KEY (`link_id`),
  UNIQUE KEY `item_id` (`item1_id`,`item2_id`)
) ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)

如何约束它以便the item_id只能在OR中出现一次item1_iditem2_id

因为我想要一个项目只链接到另一个项目..

php mysql mysql5

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