首页 \ 问答 \ excle 里面的if函数如何嵌套?

excle 里面的if函数如何嵌套?

excle 里面的if函数如何嵌套?
更新时间:2023-05-15 16:05

最满意答案

MemSQL宣称支持ACID,其中耐久性是最重要的一环。MySQL的InnoDB默认是很耐用的,如果事务返回为“同意”,就会在崩溃后刻到磁盘上。MemSQL默认也是很“耐久”的,它也会有一个事务日志,而这并不意味着跟磁盘有关。
MemSQL也有事务缓冲设置,默认“完全耐久性模式”会不同时地返回“同意”直到128M缓冲区充满。本质上这跟innodb_flush_log_at_trx_commit=2很相似,在我看来不会很持久。
如果MemSQL激活了完全的耐久性会发生什么呢?结局肯定是悲剧。每次提交都得等后台线程才能写事务日志。多久后台线程才能醒一次?50毫秒一次。MemSQL其实是玩的是计时戏法,每50毫秒冲一次,然后说后台线程一直没醒。
吐槽点一:MemSQL每秒持久事务比InnoDB慢500倍
这一点很容易证明:在磁盘阵列控制器的后写式缓存模式下,InnoDB能够轻易的维持单线程每秒10K的事务,在fsyncs空隙不会停50毫秒。有一些提交分组,两个线程有40tps,十个线程有200tps,但当我选择自己的基准时,MemSQL单线程持久事务率会变得更慢。
既然我们已经确立了MySQL的领先优势,让我们一起来看读写的表现。我敢肯定这方面MemSQL的表现会大亮。MemSQL扫描表的执行速度还是不错的,每秒扫描8M行,这对单线程来说是很了不起的成就。
说实话,我不想花时间用基准问题测试内存数据库所擅长的。我决定测试我最爱的查询:

SELECT * FROM table ORDER BY id DESC LIMIT 5 

网上到处是这个查询,MySQL 通过指向索引位置的游标,然后按照指标顺序逐步游动。而MemSQL实际上必须穿越整个目录,分类提供响应。即使是“SELECT MAX(id)”也需要穿越整个目录。
吐槽点二:MemSQL在做一些简单的读写查询时,比MySQL慢上千倍,也许是慢百万倍
我们假设MemSQL在一些普通运算有O(N) performance,因此我们只需找到那个足够大的N。我不知道我们应该如何责备MemSQL的研发人员和被他们误导的那些记者朋友。如果我们回到ACID,A代表原子性,只在语句级实现,BEGIN/COMMIT被无视了。隔离性是提交读。持久性是有缺陷的,我不关心字母C所代表的。我必须承认,MemSQL常见问题中说,MemSQL支持完整ACID事务,当然了,说是这么说。
MemSQL每秒80000次查询没什么值得炫耀的,因为现在MySQL有了HandlerSocket,计算能力接近每秒百万次。当然了,他们也有自己擅长的事情,目前是最快的 MySQL 协议,当然也没超出MySQL Cluster多少。NDB也有很不错的表现。我确信,我上面的两则声明会被一些技术工作所完善。写入性能需要适当的实时与分组提交同步(虽然二进制日志所涉及的工作很复杂,MySQL 最近还是推出了几项重大更新)。

其他回答

function preorder($root) 
configure:3438: $? = 0
configure:3427: gcc -v >&5
using built-in specs.
target: i686-apple-darwin11
configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~182/src/configure --disable-checking --enable-werror --prefix=/applications/xcode.app/contents/developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages

相关问答

更多
  • MemSQL宣称支持ACID,其中耐久性是最重要的一环。MySQL的InnoDB默认是很耐用的,如果事务返回为“同意”,就会在崩溃后刻到磁盘上。MemSQL默认也是很“耐久”的,它也会有一个事务日志,而这并不意味着跟磁盘有关。 MemSQL也有事务缓冲设置,默认“完全耐久性模式”会不同时地返回“同意”直到128M缓冲区充满。本质上这跟innodb_flush_log_at_trx_commit=2很相似,在我看来不会很持久。 如果MemSQL激活了完全的耐久性会发生什么呢?结局肯定是悲剧。每次提交都得等后台 ...
  • MySql的问题[2021-08-04]

    一般安装好的mysql都会有dos界面,也就是命令行界面,自带的。用mysqldump可以直接导出来你的数据,导出来的是文本。然后可以用mysqldump再导入。你可以查一下这个命令的用法,很方便的,不需要什么工具
  • 大部分利用hive做数据分析的步骤是先用hive将统计结果导出到本地文件或者Hive的其他表中,再将本地文件导入到mysql或者利用sqoop将Hive表导入到mysql中。 今天同事给推荐了一个利用udf函数直接将统计结果导入mysql的方法。 步骤为 hive>add jar /usr/lib/hive/lib/hive-contrib-0.9.0-cdh4.1.2.jar; Added /usr/lib/hive/lib/hive-contrib-0.9.0-cdh4.1.2.jar to class ...
  • mysql 优化思路[2024-03-14]

    这个问题百度就可以了。不然我发个资料给你!
  • 表中的某一列字段null都变成0:update 表名 set 字段=ifnull(null,0) 表中的一条记录某个字段null都变成0:update 表名 set 字段=ifnull(null,0) where 条件
  • 不,目前不支持LOAD DATA中的变量(如MemSQL 5.5)。 这是我们正在跟踪未来版本的功能。 我们仅支持以下语法,以使用虚拟变量跳过文件中列的内容(在文档https://docs.memsql.com/docs/load-data中简要提及): load data infile 'foo.tsv' into table foo (bar, @, @, baz); No, variables in LOAD DATA are not currently supported in general ( ...
  • 来自MemSQL的Mark L。 我想解决您的一些问题,并提供额外的帮助,以获取您所询问的信息/基准。 MemSQL通过JDBC连接器支持链接表 - 实际上它与MySQL一样工作 - 所以你可以毫无问题地使用它。 在分布式模式下运行MemSQL确实会提供巨大的性能优势,并且您将在吞吐量和延迟方面看到一些重大改进。 我没有直接比较H2和MemSQL之间的直接比较 - 但是,你可以通过查看MemSQL与MySQL的比较得出一些间接的结论,因为我们从网站上获得了H2与MySQL的比较数据。 根据我们的现场经验,我 ...
  • 没关系。 只需在不同的端口上运行它们,并确保连接到正确的端口。 It's fine. Just run them on different ports and make sure you connect to the right one.
  • 您的临时表是一个引用表,并且对引用表的写入将异步复制到集群。 这就是为什么有时您的更新按预期工作,有时则不然。 您可以 写入参考表后等待一下 使登台表不参考 Your staging table is a reference table, and writes to reference tables are replicated asynchronously to the cluster. This is why sometimes your updates work as expected and som ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。