Questions tagged «mysql»

MySQL的所有版本(不是Microsoft SQL Server)。如果与此问题相关,还请添加特定于版本的标记,例如mysql-5.7。


4
MySQL-修改表以自动放入UUID
好的,我知道我以前做过。但是我无法为自己的生活弄清楚。我创建了一张桌子。列之一标记为“ LogID”,它也是主键。 如何更改它,以便此列为每个新条目生成一个UUID? 谢谢
14 mysql 


3
MySQL:读取通信数据包时出错
我在mysql中收到此警告, [Warning] Aborted connection 21 to db: 'MyDB' user: 'MyUser' host: 'localhost' (Got an error reading communication packets) 我已经浏览过Google的几个主题,并且根据一些建议,我max_allowed_packet从128 to 512 to 1024相同的行为中增加了兴趣。 我使用的Drupal 7,和是有很多BLOB数据类型的,但1024 Mb的max_allowed_packet应该是足够的在我看来。 任何其他解决方法如何克服此警告? 编辑: 添加了一些设置作为@Rolando的建议/答案,我仍然收到相同的警告。 我的mysql配置看起来像这样: [client] port = 3306 socket = /tmp/mysql.sock default-character-set = utf8 [mysqld] port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = …
14 mysql  innodb 

2
计数子查询中的行
简单:我想计算子查询的行数。请注意,状态是主机是否在线。 错误的代码 SELECT COUNT(ip_address) FROM `ports` ( SELECT DISTINCT ip_address FROM `ports` WHERE status IS TRUE ) 解释 第一个查询单独运行时返回以下内容: SELECT DISTINCT ip_address FROM `ports` WHERE status IS TRUE ip_address 192.168.1.1 192.168.1.2 192.168.1.248 192.168.1.251 192.168.1.254 单独运行的第二个查询返回以下内容: SELECT COUNT(ip_address) FROM `ports` 17 题 我想知道如何计算5个IP地址的列表。 我一直在网上寻找这个简单问题的可能解决方案,并且感到沮丧,所以我想请专家们。

2
如果存在,则更新,否则插入
我正在尝试创建一个STORED PROCEDURE将用于UPDATE名为的表的machine。此表有三列(machine_id,machine_name和reg_id)。 在上述表中,reg_id(INT)是一列,其值可以更改为machine_id。 我想定义一个QUERY/ PROCEDURE来检查reg_id该表中是否已经存在。如果是这样,则UPDATE该行,否则INSERT为新行。 一个人可以帮我写QUERY/ PROCEDURE?
14 mysql 


1
无法看到MySQL提交的数据来选择查询
上下文:使用的框架是Spring,所有查询都使用JdbcTemplate运行。Mysql Server版本是5.6.19。和table是InnoDB table,默认设置为,并且设置了auto commit隔离级别可重复读取。 问题:Insert在事务内部发生的事情和select读取相同插入数据的事务看不到该数据。在select运行后,在insert之后的insert交易都有commited。 我已经启用bin日志以及mysql中的常规日志。以下相关日志 二进制日志: SET TIMESTAMP=1438265764/*!*/; BEGIN /*!*/; # at 249935389 #150730 14:16:04 server id 1 end_log_pos 249935606 CRC32 0xa6aca292 Query thread_id=40 exec_time=0 error_code=0 SET TIMESTAMP=1438265764/*!*/; insert into user_geo_loc_latest(user_id, lat, lng) values(x,y,z) on duplicate key update lat=y, lng=z /*!*/; # at 249935606 #150730 14:16:06 server id 1 …

5
电子商务订单表。节省价格,还是使用审核/历史记录表?
我正在设计我的第一个电子商务模式。我已经阅读了一段时间,对an order_line_item和a 之间的关系有些困惑product 一个product可以被购买。它具有各种细节,但最重要的是unit_price。 在客户购买产品时,An order_line_item具有product_id购买,quantity购买和购买时的外键unit_price。 我读过的大部分内容都说unit_price上的order_line_item应该显式添加(即,不通过引用product_id)。这是有道理的,因为商店将来可能会更改价格,这会弄乱订单报告,跟踪,完整性等。 我不明白的是,为什么直接将unit_price值保存到order_line_item? 创建记录unit_price变更记录的审计/历史记录表会更好product吗? order_line_item创建an时,将product_audit添加表的外键,并可以从此处检索价格(通过引用)。 在我看来,使用这种方法有很多好处(减少数据重复,更改价格历史记录等),那么为什么不更频繁地使用它呢?我没有遇到使用这种方法的电子商务模式的示例,我错过了什么吗? UDPATE:看来我的问题与尺寸变化缓慢有关。我仍然很困惑,因为“缓慢变化的维度”与数据仓库和OLAP有关。那么,是否可以将“缓慢更改维度”类型应用于我的主要业务交易流程数据库(OLTP)?我想知道我是否将很多概念混在一起,将不胜感激一些指导。

3
如果我不删除临时内存表,该表将保留多长时间(MySQL)
我在MySQL中使用递归存储过程来生成名为的临时表id_list,但我必须在后续的select查询中使用该过程的结果,因此无法DROP在该过程中使用该临时表... BEGIN; /* generates the temporary table of ID's */ CALL fetch_inheritance_groups('abc123',0); /* uses the results of the stored procedure in the WHERE */ SELECT a.User_ID FROM usr_relationships r INNER JOIN usr_accts a ON a.User_ID = r.User_ID WHERE r.Group_ID = 'abc123' OR r.Group_ID IN (SELECT * FROM id_list) GROUP BY …


2
向大型mysql表添加索引
我有桌子 | base_schedule_line_items | CREATE TABLE base_schedule_line_items( idint(10)unsigned NOT NULL AUTO_INCREMENT, installmentint(10)unsigned NOT NULL, on_date日期NOT NULL, actual_date日期默认值, payment_typeint(11)NOT NULL, scheduled_principal_outstanding十进制(65,0)NOT NULL, scheduled_principal_due十进制(65,0) NOT NULL, scheduled_interest_outstanding十进制(65,0)NOT NULL, scheduled_interest_due十进制(65,0)NOT NULL, currencyint(11)NOT NULL, updated_at日期时间NOT NULL缺省'2013-01-06 14:29:16', created_atdatetime NOT NULL默认值' 2013-01-06 14:29:16', loan_base_schedule_idint(10)unsigned NOT NULL, lending_idint(10)unsigned NOT NULL, rescheduletinyint(1)DEFAULT'0', PRIMARY KEY(id), KEY index_base_schedule_line_items_loan_base_schedule (loan_base_schedule_id),KEY …

1
如何估算MySQL查询执行的I / O操作?
在亚马逊的RDS上,每100万个I / O请求支付约0.10美元。我注意到流量非常低的数据库有大量(数十万个)I / O请求。看到这一点,我做了进一步的研究,发现这个问题描述了对于一个拥有6,000个用户的网站,他每月产生8亿个I / O请求,这将使他每月花费约80美元。 因此,我想提前知道MySQL查询将生成多少个I / O操作,以及如何优化/最小化它们。是否有任何方法可以估算查询将执行的I / O操作数,以及我可以遵循的任何一般规则来使其尽可能降低?
13 mysql 


1
哪个更好:加入条件多还是条件多?
我正在尝试比较两个查询: 查询1: SELECT a,b,c,d,e FROM tableA LEFT JOIN tableB ON tableA.a=tableB.a WHERE tableA.b=tableB.b AND tableA.c=tableB.c AND tableA.d=tableB.d AND tableA.e=tableB.e 查询2: SELECT a,b,c,d,e FROM tableA LEFT JOIN tableB ON tableA.a=tableB.a AND tableA.b=tableB.b AND tableA.c=tableB.c AND tableA.d=tableB.d WHERE tableA.e=tableB.e 我是否可以正确地说这两个查询给出相同的结果? 进一步说第一个查询建立一个更大的表并对其做更大的WHERE条件是否正确;而第二种情况是我们有一个较小的构造表,WHERE然后将其应用于简单表。 假设结果相同,则应首选哪个查询?是否存在明显的性能问题?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.