草庐IT

过程中

全部标签

mysql - 存储过程是否应该缓存在Mysql中

存储过程应该缓存在Mysql中吗?如果是,它在缓存中停留多长时间?在我的例子中,当我第一次调用一个存储过程时,它会在1秒内给我结果,之后它会在400毫秒内给我结果。当我更改传递给存储过程的一些参数并第一次调用时,会执行相同的行为。所以,我不明白发生了什么?有人可以指导我吗?谢谢。 最佳答案 这是任何使用缓存的系统的正常行为:第一次执行时,结果会加载到缓存中,因此会出现少量开销以下执行将花费更少,因为它们已经在缓存中但是如果任何输入发生更改(例如在您的情况下:更改存储过程的某些参数),那么结果已经在缓存中缓存不再可行,因此必须将新结果

mysql - 同步mysql中的存储过程

我有两个应用程序,它们都在MySQL中使用相同的存储过程。我希望这个过程是同步的,也就是说,当一个应用程序调用它时,另一个应用程序必须等待。有没有办法在不改变应用程序代码的情况下(即只修改存储过程)做到这一点?谢谢,克丽丝 最佳答案 您完全可以在存储过程中执行此操作而无需更改您的应用程序代码,但请记住,您将引入锁定问题和超时的可能性。使用GET_LOCK()和RELEASE_LOCK()照顾同步。运行GET_LOCK以在存储过程开始时执行同步,并在完成后运行RELEASE_LOCK:IF(GET_LOCK('lock_name_fo

MySQL 存储过程 : How to declare a Cursor for a Select from a temporary table?

在MySQL存储过程中,如何为从select语句创建的临时表声明游标。谢谢,DELIMITER$$DROPPROCEDUREIFEXISTS`sp_foo`$$CREATEPROCEDUREsp_foo()BEGINDROPTEMPORARYTABLEIFEXISTS`TmpMyTable`;CREATETEMPORARYTABLE`TmpMyTable`(`id`INT(11)NOTNULLAUTO_INCREMENT,`person_id`INT(11)NOTNULL,`first_name`VARCHAR(60)NOTNULL,`last_name`VARCHAR(60)NOTN

c# - mysql 存储过程参数似乎不适用于 "@"(At 符号)

我正在将MSSQL数据库更改为MySQL。我重写了一个存储过程,它采用名为@Account_Number的参数。当我在MySQL中运行存储过程时,我收到以下消息:错误代码:1048Column'Account_Number'cannotbenull。使用工作台,我最终进行了修改,发现当我从存储过程中删除“@”并将它们重命名为parmAccount_Number时,存储过程将执行。我真的想保持存储过程输入参数的名称相同,我不想返回并重命名我的MSSQL参数...以防万一我想翻转数据库。我找不到关于MySQL使用“@”做什么的任何信息......有没有办法让它与“@”一起工作?编辑声明存储

mysql - 无法将 '' 更改为 mysql 存储过程中日期时间的 null

我写了存储过程:CREATEDEFINER=`root`@`localhost`PROCEDURE`SP_create_new_task`(IN_taskNameVARCHAR(30),IN_descriptionVARCHAR(500),IN_startDateDATETIME,IN_endDateDATETIME,IN_lacationVARCHAR(30),IN_subToINT)BEGININSERTINTOtm_tasks(taskName,description,startDate,endDate,lacation,subTo)VALUES(_taskName,_descr

mysql - 使用 Powershell 中的参数执行 sql 过程

我是Powershell的新手,所以我对如何调用带参数的SQL过程有点困惑。我已成功打开与我的数据库的连接,并且我已设法获得一个不使用参数的过程,因此我知道连接正常。添加参数和运行查询的代码如下:$dateToUse=Get-Date-fyyyy/MM/dd$MysqlQuery.CommandText="GetJourneyByDepartureDate"$MysqlQuery.Parameters.AddWithValue("_departureDate",$dateToUse)$queryOutput=$MysqlQuery.ExecuteReader()每当我尝试运行我的脚本时

MySQL 过程语言

SQL查询:文档CREATEPROCEDUREtree_add_root()BEGINSTARTTRANSACTION;$max=SELECTMAX(`rht`)FROMtrees;INSERTINTOtrees(`tree_id`,`name`,`label`,`description`,`lft`,`rht`,`lvl`)VALUES(1,'Index','Index','',1,$max+1,0);COMMENT;END;MySQL说:文档1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourM

java - 解析 MappingNode 时主线程中出现异常

我完全不知道这个错误代码是什么,有没有人对此有所了解?我是grails的新手,因此我不知道下面的错误代码。无法辨认它的正面或反面。-这里是Grails初学者运行Grails3.1.2MySQL工作台6grails>run-app|Runningapplication...Exceptioninthread"main"whileparsingMappingNodein'reader',line31,column13:dbCreate:update^Duplicatekey:propertiesin'reader',line47,column1:---^atorg.springframew

java - 无法检索我希望使用存储过程选择的值

我正在尝试查找记录。这让我选择使用存储过程在我的数据库中查找现有记录。当我尝试搜索现有数据时,它没有给我想要的值。当我点击搜索按钮时,它没有将值打印到文本字段。代码privatevoidjButton2ActionPerformed(java.awt.event.ActionEventevt){StringsearchSection=Section_SearchSection_Textfield.getText();StringsearchSection_Name=Section_SectionName_TextField.getText();intsectionID=0;if(sea

mysql - 调试存储过程中的mySQL语法错误

我正在将此文件重定向到mysqlpromt以添加存储过程:DROPPROCEDUREIFEXISTSmake_transaction;DELIMITER//CREATEPROCEDUREmake_transaction(INv_quote_idINT,INv_your_idINT)BEGINDECLAREv_is_sellerBOOLEAN;DECLAREv_option_typeBOOLEAN;DECLAREv_trader_idINT;DECLAREv_premiumDOUBLE(18,4);DECLAREv_offer_expiresDATETIME;DECLAREv_instr