A.始终使用Memory作为临时存放查询的中间结果集
B.默认使用InnoDB作为临时存放查询的中间结果集
C.如果中间结果集含有TEXT或BLOB列的类型字段,则MySQL数据库会将其转换到MylSAM存储引擎表而存放到磁盘中
D.默认使用MylSAM作为临时存放查询的中间结果集
A.Transaction support
B.FULLTEXT indexing for text matching
C.Table and page level locking support
D.Foreign key support
E.Geospatial indexing
F.HASH index support
G.Table level locking only
A.InnoDB uses row and table-level locks, but row locks are not escalates
B.InnoDB locks only those rows that are updated
C.InnoDB only uses row locks, not page or table-level locks
D.InnoDB row locks may be escalated to page or table-level locks
E.InnoDB uses row-level or table-level locks depending on the number of rows affected
A.A primary key must exist for creation of a clustered index
B.A clustered index allows fulltext searching within InnoDB
C.The first unique index is always used as a clustered index and not a primary key
D.A clustered index provides direct access to a page containing row data
E.If no indexes exist, a hidden clustered index is generated based on row IDs
F.A primary key is used as a clustered index
G.A clustered index is a grouping of indexes from different tables into a global index for faster searching
A.The auto-increment lock can be a table-level lock
B.InnoDB never uses table-level locks
C.Some settings for innodb_autoinc_lock_mode can help reduce locking
D.InnoDB always protects auto-increment updates with a table-level lock
广州市品高软件股份有限公司3月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:你常用的mysql引擎有哪些?各引擎间有什么区别?可用的回答 : 主要 MyISAM 与 InnoDB 两个引擎,其主要区别如下: 一、 InnoDB 支持事务,MyISAM 不支持,这一点是非常之重要。 事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而 MyISAM就不可以了; 二、 MyISAM 适合查询以及插入为主的应用,InnoDB 适合频繁修改以及涉及到安全性较高的应用; 三、 InnoDB 支持外键,MyISAM 不支持; 四、 MyISAM 是默认引擎,InnoDB 需要指定; 五、 InnoDB 不支持 FULLTEXT 类型的索引; 六、 InnoDB 中不保存表的行数,如 select count(*) from table 时,InnoDB; 需要扫描一遍整个表来计算有多少行,但是 MyISAM 只要简单的读出保存好的行数即可。 注意的是,当 count(*)语句包含 where 条件时 MyISAM 也需要扫描整个表; 七、 对于自增长的字段,InnoDB 中必须包含只有该字段的索引,但是在 MyISAM 表中可以和其他字段一起建立联合索引; 八、 清空整个表时,InnoDB 是一行一行的删除,效率非常慢。MyISAM 则会重建表; 九、 InnoDB 支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like %lee% 问题 Q2:什么是Python pass?可用的回答 :pass意味着,无操作的Python语句,或者换句话说,它是复合语句中的占位符,其中应该留有空白,并且不必在那里写入任何内容。问题 Q3:Python中的docstring是什么?可用的回答 :Python文档字符串称为docstring,它是一种记录Python函数,模块和类的方法。可以通过内置方法_doc_获取问题 Q4:简述一下scrapy的基本流程?可用的回答 : scrapy分为9个步骤: 1. Spiders需要初始的start_url或则函数stsrt_requests,会在内部生成Requests给Engine; 2. Engine将requests发送给Scheduler; 3. Engine从Scheduler那获取requests,交给Download下载; 4. 在交给Dowmload过程中会经过Downloader Middlewares(经过process_request函数); 5. Dowmloader下载页面后生成一个response,这个response会传给Engine,这个过程中又经过了Downloader Middlerwares(经过process_request函数),在传送中出错的话经过process_exception函数; 6. Engine将从Downloader那传送过来的response发送给Spiders处理,这个过程经过Spiders Middlerwares(经过process_spider_input函数); 7. Spiders处理这个response,返回Requests或者Item两个类型,传给Engine,这个过程又经过Spiders Middlewares(经过porcess_spider_output函数); 8. Engine接收返回的信息,如果使Item,将它传给Items Pipeline中;如果是Requests,将它传给Scheduler,继续爬虫; 9. 重复第三步,直至没有任何需要爬取的数据 问题 Q5:迭代器和生成器的区别?可用的回答 : 1)迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己本身。对于 string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调 用iter()函数,iter()是python的内置函数。iter()会返回一个定义了next()方法的迭代器对象,它在容器中 逐个访问容器内元素,next()也是python的内置函数。在没有后续元素时,next()会抛出一个 StopIteration异常 2)生成器(Generator)是创建迭代器的简单而强大的工具。它们写起来就像是正规的函数,只是在需 要返回数据的时候使用yield语句。每次next()被调用时,生成器会返回它脱离的位置(它记忆语句最后 一次执行的位置和所有的数据值) 区别:生成器能做到迭代器能做的所有事,而且因为自动创建了iter()和next()方法,生成器显得特别简洁, 而且生成器也是高效的,使用生成器表达式取代列表解析可以同时节省内存。除了创建和保存程序状态 的自动方法,当发生器终结时,还会自动抛出StopIteration异常 问题 Q6:什么又是yield from呢?可用的回答 :简单地说,yield from generator 。实际上就是返回另外一个生成器。问题 Q7:如果对方网站反爬取,封IP了怎么办?可用的回答 : 放慢抓取熟速度,减小对目标网站造成的压力,但是这样会减少单位时间内的数据抓取量 使用代理IP(免费的可能不稳定,收费的可能不划算) 问题 Q8: scrapy的优缺点?为什么要选择scrapy框架?可用的回答 : 优点: 采取可读性更强的xpath代替正则强大的统计和log系统 同时在不同的url上爬行 支持shell方式,方便独立调试 写middleware,方便写一些统一的过滤器 通过管道的方式存入数据库 缺点: 基于python爬虫框架,扩展性比较差,基于twisted框架, 运行中exception是不会干掉reactor,并且异步框架出错后是不会停掉其他任务的,数据出错后难以察觉 问题 Q9:Python中的lambda是什么?可用的回答 :它是一个单独的表达式匿名函数,通常用作内联函数。问题 Q10:Python里面match()和search()的区别?可用的回答 :re模块中match(pattern,string,flags),检查string的开头是否与pattern匹配。re模块中research(pattern,string,flags),在string搜索pattern的第一个匹配值。算法题面试官常问到的一些算法题目整
A.InnoDB存储引擎虽然不支持事件处理应用程序,但是支持外键、同时还支持崩溃修复能力和并发控制
B.MEMORY存储引擎的所有数据都存储在内存中,数据的处理速度快但安全性不高
C.MyISAM存储引擎提供了高速的存储与检索和全文探索能力,它并不支持事务处理应用程序
D.除了InnoDB、MOMORY和MyISAM存储引擎外,MRG_MYISAM、BLACKHOLE和CSV也是MySQL数据库的存储引擎
A.因为InnoDB在一个日志中保存到所有主键的指针,短的主键使日志小
B.因为InnoDB使用主键定位二级索引,短的主键使查询快
C.因为InnoDB使用主键定位表记录,短的主键使查询快
D.因为InnoDB使用主键定位表,短的主键使查询快
A.它能检查MyISAM表
B.它能修复MyISAM表
C.它能获取MyISAM表的信息
D.它能优化MyISAM表
长久以来,流行工具开源RDBMSMySQL并没有支持外键,最近MySQL的不同版本都通过新InnoDB列表引擎支持外键。为了建立两个MySQL表之间的一个外键关系,MySQL创建关联表必须满足以下三种情况:
* 两个表必须是InnoDB表类型。
* 使用在外键关系的域必须为索引型(Index)。
* 使用在外键关系的域必须与数据类型相似。
希望能帮到你,别忘了采纳我的答案哦,祝你生活愉快!
简述MyISAM与innoDB存储引擎有何差别?