急!mysql问题和外键到底怎么用

急!mysql问题和外键到底怎么用,第1张

create database food_210

use food_210

create table people

(

people_id int(11) not null primary key 自动增长,

people_name char(20) not null,

people_sex tinyint(1) not null default 1

)

use food_210

create table food

(

food_id int(11) not null primary key 自动增长,

food_name char(20) not null,

food_price char(10) not null

food_time int not null (0:早餐,1:午饭,2:晚饭)

)

use food_210

create table link

(

link_id int(11) primary key 自动增长

people_id int(11) int not null ,

food_id int(11) not null,

NewsTime timestamp DEFAULT now()

)

查询

select * from link left join people on people.people_id = link.link_id left join food on food.food_id = link.link_id where food.food_time = 0

where 后面可以跟你想要查询的条件

但是你要注意的是where 表名+字段名 = 值

大概就是这样的,我没有测试

MySQL 默认的复制就是异步的,主库再执行完客户端提交的事务后会立即将结果返回给客户端,并不关系从库是否已经接收和处理。

MySQL主库将Binlog事件写入到Binlog文件中,此时主库只通知一下Dump线程发送这些新的Binlog,然后主库继续处理提交 *** 作,不会保证这些Binlog传到任何一个从库节点上。

因为异步复制,主节点不关从节点是否收到Binlog,如果主crash掉了,此时主节点上已提交的事务可能并没有传到从库上,如果此时,强行将从节点提升为主节点,可能导致新的主节点上数据不完整。

全同步是指当主库接收到客户端的一个事务请求,所有的从库都执行了该事务才返回给客户端。

当主库收到客户端提交的事务后,所有的从库必须收到并且执行事务,然后主库才会执行后续 *** 作。

因为要等待所有从库执行完事务,主库才将结果返回给客户端,所以全同步复制的性能必然受到严重影响,即完成一个事务的时间被拉长,性能降低。

半同步复制是介于全同步复制和全异步复制之间的一种,主库只需要等待至少一个从库节点收到并Flush Binlog到Relay log文件即可,主库不需要等待所有从库给主库反馈。(注意只要收到一个从库的反馈即可)

介于异步复制和全同步复制之间,主库再执行完客户端提交的食物后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay log中才返回给客户端。

相对于异步复制,半同步复制提交了数据的安全性,同时它也造成了一定程序的延迟,这个延迟至少是一个TCP/IP往返时间,因此,半同步复制虽好在低延时的网络中使用。

XMind - Trial Version


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8549549.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存