diff --git a/.vscode/settings.json b/.vscode/settings.json index 72235d1..f8dc4a3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -18,5 +18,8 @@ "quickfix.biome": "always", "source.organizeImports.biome": "always" }, - "frontMatter.dashboard.openOnStart": false + "frontMatter.dashboard.openOnStart": false, + "[markdown]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + } } \ No newline at end of file diff --git a/public/api/i/2025/08/12/h1jv9s-1.webp b/public/api/i/2025/08/12/h1jv9s-1.webp new file mode 100755 index 0000000..de6bcc4 Binary files /dev/null and b/public/api/i/2025/08/12/h1jv9s-1.webp differ diff --git a/public/api/i/2025/08/12/h9knpj-1.webp b/public/api/i/2025/08/12/h9knpj-1.webp new file mode 100755 index 0000000..5377aea Binary files /dev/null and b/public/api/i/2025/08/12/h9knpj-1.webp differ diff --git a/public/api/i/2025/08/12/h9qh26-1.webp b/public/api/i/2025/08/12/h9qh26-1.webp new file mode 100755 index 0000000..85cc9e0 Binary files /dev/null and b/public/api/i/2025/08/12/h9qh26-1.webp differ diff --git a/public/api/i/2025/08/12/h9ujzp-1.webp b/public/api/i/2025/08/12/h9ujzp-1.webp new file mode 100755 index 0000000..6134ba7 Binary files /dev/null and b/public/api/i/2025/08/12/h9ujzp-1.webp differ diff --git a/public/api/i/2025/08/13/xu7b2n-1.webp b/public/api/i/2025/08/13/xu7b2n-1.webp new file mode 100755 index 0000000..0e901ee Binary files /dev/null and b/public/api/i/2025/08/13/xu7b2n-1.webp differ diff --git a/public/api/i/2025/08/15/5dxy1-1.webp b/public/api/i/2025/08/15/5dxy1-1.webp new file mode 100755 index 0000000..e959858 Binary files /dev/null and b/public/api/i/2025/08/15/5dxy1-1.webp differ diff --git a/public/api/i/2025/08/17/julgjy-1.webp b/public/api/i/2025/08/17/julgjy-1.webp new file mode 100755 index 0000000..be71a95 Binary files /dev/null and b/public/api/i/2025/08/17/julgjy-1.webp differ diff --git a/public/api/i/2025/09/07/xy0628-1.webp b/public/api/i/2025/09/07/xy0628-1.webp new file mode 100644 index 0000000..94e9687 Binary files /dev/null and b/public/api/i/2025/09/07/xy0628-1.webp differ diff --git a/public/api/i/2025/09/07/xz52lm-1.webp b/public/api/i/2025/09/07/xz52lm-1.webp new file mode 100644 index 0000000..716b651 Binary files /dev/null and b/public/api/i/2025/09/07/xz52lm-1.webp differ diff --git a/public/api/i/2025/09/07/yscnoh-1.webp b/public/api/i/2025/09/07/yscnoh-1.webp new file mode 100644 index 0000000..9b8888c Binary files /dev/null and b/public/api/i/2025/09/07/yscnoh-1.webp differ diff --git a/public/api/i/2025/09/07/yu38tz-1.webp b/public/api/i/2025/09/07/yu38tz-1.webp new file mode 100644 index 0000000..7734379 Binary files /dev/null and b/public/api/i/2025/09/07/yu38tz-1.webp differ diff --git a/public/api/i/cache/20250812.jpg b/public/api/i/cache/20250812.jpg new file mode 100755 index 0000000..3b22342 Binary files /dev/null and b/public/api/i/cache/20250812.jpg differ diff --git a/public/api/i/cache/EasyImage_int_2bf4769c25f25ba1291007ee259b8a0d.workcontrol.txt b/public/api/i/cache/EasyImage_int_2bf4769c25f25ba1291007ee259b8a0d.workcontrol.txt new file mode 100755 index 0000000..7bcbea8 Binary files /dev/null and b/public/api/i/cache/EasyImage_int_2bf4769c25f25ba1291007ee259b8a0d.workcontrol.txt differ diff --git a/public/api/i/cache/EasyImage_int_2ef4014b263d46a49d6b32e7f8f61a92.workcontrol.txt b/public/api/i/cache/EasyImage_int_2ef4014b263d46a49d6b32e7f8f61a92.workcontrol.txt deleted file mode 100755 index 330e7a9..0000000 Binary files a/public/api/i/cache/EasyImage_int_2ef4014b263d46a49d6b32e7f8f61a92.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_31b1782fd9edd73ebe8b0b7f432cc72a.workcontrol.txt b/public/api/i/cache/EasyImage_int_31b1782fd9edd73ebe8b0b7f432cc72a.workcontrol.txt deleted file mode 100755 index 4a4c866..0000000 Binary files a/public/api/i/cache/EasyImage_int_31b1782fd9edd73ebe8b0b7f432cc72a.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_4e37e326dd17dc84bc60c328e2336c7d.workcontrol.txt b/public/api/i/cache/EasyImage_int_4e37e326dd17dc84bc60c328e2336c7d.workcontrol.txt deleted file mode 100755 index 01c74e7..0000000 Binary files a/public/api/i/cache/EasyImage_int_4e37e326dd17dc84bc60c328e2336c7d.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_4e903caeabc91ab7b477ea724d4e26c6.workcontrol.txt b/public/api/i/cache/EasyImage_int_4e903caeabc91ab7b477ea724d4e26c6.workcontrol.txt deleted file mode 100755 index 91f9ff0..0000000 Binary files a/public/api/i/cache/EasyImage_int_4e903caeabc91ab7b477ea724d4e26c6.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_4f8dbdb939d8b8b7b9a67405d005a26f.workcontrol.txt b/public/api/i/cache/EasyImage_int_4f8dbdb939d8b8b7b9a67405d005a26f.workcontrol.txt deleted file mode 100755 index 10d9436..0000000 Binary files a/public/api/i/cache/EasyImage_int_4f8dbdb939d8b8b7b9a67405d005a26f.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_5eb2909882f5c0f27ca9fec1af02cd57.workcontrol.txt b/public/api/i/cache/EasyImage_int_5eb2909882f5c0f27ca9fec1af02cd57.workcontrol.txt new file mode 100755 index 0000000..899d219 Binary files /dev/null and b/public/api/i/cache/EasyImage_int_5eb2909882f5c0f27ca9fec1af02cd57.workcontrol.txt differ diff --git a/public/api/i/cache/EasyImage_int_686a102ef7badc364c9c3f45490f6bb0.workcontrol.txt b/public/api/i/cache/EasyImage_int_686a102ef7badc364c9c3f45490f6bb0.workcontrol.txt deleted file mode 100755 index 3967c77..0000000 Binary files a/public/api/i/cache/EasyImage_int_686a102ef7badc364c9c3f45490f6bb0.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_6d706db8574807203a518239ea008d52.workcontrol.txt b/public/api/i/cache/EasyImage_int_6d706db8574807203a518239ea008d52.workcontrol.txt deleted file mode 100755 index 69b3a48..0000000 Binary files a/public/api/i/cache/EasyImage_int_6d706db8574807203a518239ea008d52.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_6dcc4acd7e6c08e4242767bb31d67eea.workcontrol.txt b/public/api/i/cache/EasyImage_int_6dcc4acd7e6c08e4242767bb31d67eea.workcontrol.txt deleted file mode 100755 index 7bf4499..0000000 Binary files a/public/api/i/cache/EasyImage_int_6dcc4acd7e6c08e4242767bb31d67eea.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_86a53b9febf7805c567af7c21c1e4ed7.workcontrol.txt b/public/api/i/cache/EasyImage_int_86a53b9febf7805c567af7c21c1e4ed7.workcontrol.txt deleted file mode 100755 index 220b4a7..0000000 Binary files a/public/api/i/cache/EasyImage_int_86a53b9febf7805c567af7c21c1e4ed7.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_96c9e161dadad285b5fd41c38a278a09.workcontrol.txt b/public/api/i/cache/EasyImage_int_96c9e161dadad285b5fd41c38a278a09.workcontrol.txt deleted file mode 100755 index 81559c4..0000000 Binary files a/public/api/i/cache/EasyImage_int_96c9e161dadad285b5fd41c38a278a09.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_982743f194af936d61701aa2701df764.workcontrol.txt b/public/api/i/cache/EasyImage_int_982743f194af936d61701aa2701df764.workcontrol.txt deleted file mode 100755 index 72f6620..0000000 Binary files a/public/api/i/cache/EasyImage_int_982743f194af936d61701aa2701df764.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_9c1b10f5c0b8d12a1dedfaeaac2835cd.workcontrol.txt b/public/api/i/cache/EasyImage_int_9c1b10f5c0b8d12a1dedfaeaac2835cd.workcontrol.txt deleted file mode 100755 index db75875..0000000 Binary files a/public/api/i/cache/EasyImage_int_9c1b10f5c0b8d12a1dedfaeaac2835cd.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_b1f6e2f03b868058a008f7173638e6ee.workcontrol.txt b/public/api/i/cache/EasyImage_int_b1f6e2f03b868058a008f7173638e6ee.workcontrol.txt deleted file mode 100755 index 0036885..0000000 Binary files a/public/api/i/cache/EasyImage_int_b1f6e2f03b868058a008f7173638e6ee.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_b93422408a6c3c271dcdcc0e04f994ee.workcontrol.txt b/public/api/i/cache/EasyImage_int_b93422408a6c3c271dcdcc0e04f994ee.workcontrol.txt deleted file mode 100755 index 5e373e0..0000000 Binary files a/public/api/i/cache/EasyImage_int_b93422408a6c3c271dcdcc0e04f994ee.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_bba9211e27ed931b1013654448339742.workcontrol.txt b/public/api/i/cache/EasyImage_int_bba9211e27ed931b1013654448339742.workcontrol.txt deleted file mode 100755 index b61e904..0000000 Binary files a/public/api/i/cache/EasyImage_int_bba9211e27ed931b1013654448339742.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_c53a0d71337ef22c54e47fcb5cb9e208.workcontrol.txt b/public/api/i/cache/EasyImage_int_c53a0d71337ef22c54e47fcb5cb9e208.workcontrol.txt deleted file mode 100755 index d100e08..0000000 Binary files a/public/api/i/cache/EasyImage_int_c53a0d71337ef22c54e47fcb5cb9e208.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_d9a3ea24492f543c768ad842b3a224f4.workcontrol.txt b/public/api/i/cache/EasyImage_int_d9a3ea24492f543c768ad842b3a224f4.workcontrol.txt new file mode 100755 index 0000000..8ff1379 Binary files /dev/null and b/public/api/i/cache/EasyImage_int_d9a3ea24492f543c768ad842b3a224f4.workcontrol.txt differ diff --git a/public/api/i/cache/EasyImage_int_db0b79373ed3230216ad69a812800b74.workcontrol.txt b/public/api/i/cache/EasyImage_int_db0b79373ed3230216ad69a812800b74.workcontrol.txt deleted file mode 100755 index f004ba7..0000000 Binary files a/public/api/i/cache/EasyImage_int_db0b79373ed3230216ad69a812800b74.workcontrol.txt and /dev/null differ diff --git a/public/api/i/cache/EasyImage_int_de14fb41139ed40378d681c97c531d80.workcontrol.txt b/public/api/i/cache/EasyImage_int_de14fb41139ed40378d681c97c531d80.workcontrol.txt new file mode 100755 index 0000000..f69a83d Binary files /dev/null and b/public/api/i/cache/EasyImage_int_de14fb41139ed40378d681c97c531d80.workcontrol.txt differ diff --git a/public/config/config.php b/public/config/config.php index 0459528..f43163e 100755 --- a/public/config/config.php +++ b/public/config/config.php @@ -1,4 +1,4 @@ -'简单图床 - EasyImage', @@ -43,7 +43,7 @@ $config=Array 'waterImg'=>'/public/images/watermark.png', 'extensions'=>'jpg,jpeg,png,gif,bmp,webp,ico,jfif,tif,tga,svg', 'compress'=>0, - 'compress_ratio'=>80, + 'compress_ratio'=>50, 'thumbnail'=>1, 'thumbnail_w'=>258, 'thumbnail_h'=>258, @@ -141,5 +141,5 @@ $config=Array ', 'terms'=>'

服务条款


访问我们网站除主页和本“条款”页面以外的任何页面,即表示您同意这些使用条款和我们的隐私政策。如果您不同意,请不要使用我们的网站。

  1. 您使用我们的网站进行除简单访问/查看之外的任何事情(即上传、下载、评论等),不仅构成您的同意,而且构成您的电子签名,这意味着您受这些条款的合同约束,并且通过我们的隐私政策。
  2. 我们保留在使用过多带宽或以其他方式滥用系统的用户帐户上禁用直接链接的权利。
  3. 请勿上传儿童色情内容或威胁、骚扰、诽谤或鼓励非法行为的材料。不要使用本网站作为内容交付网络。如果你这样做(我们将成为法官),或者如果你做了任何违法的事情,除了我们可能拥有的任何其他合法权利之外,我们将禁止你以及你从中盗链的网站,删除你的所有图片,报告如有必要,您可以向当局报告,并阻止您查看本网站上托管的任何图像。我们是认真的。
  4. 用户必须同意遵守适用于其所在地的所有法律,包括版权和商标法。不允许使用侵犯版权或商标的图片。如果有人对您提出侵权索赔,您将被要求删除受版权保护的文件,直到问题得到解决。如果本网站的参与者之间存在争议,我们没有义务参与其中。
  5. 您可以匿名上传图像,并与您的朋友、家人、在线站点以及社交网络在线共享。
  6. 如果您在我们的网站上看到任何不应该出现的内容,因为它违反了我们的政策或出于任何其他原因,请通过电子邮件联系告知我们
  7. 声明通知中的信息准确无误,否则会受到伪证处罚。为此,请包括以下声明: “我发誓,通知中的信息准确无误,并且我是(版权)所有者或被授权代表专有权的所有者行事,在作伪证的处罚下涉嫌侵权”。

如果发生调查,本网站承诺与任何和所有法律机构合作。

隐私政策


一般:

当您访问本网站或使用本政策中进一步概述的服务(“服务”)时,本网站致力于保护您的隐私。作为使用本网站服务的条件,您同意向本网站提供某些个人信息。该信息包括但不限于: 电子邮件地址和您计算机的唯一 IP 地址(如果有)、财务信息(您的 Paypal 帐户使用的电子邮件地址)和人口统计信息(例如,邮政编码、邮政编码、家乡、性别、购买历史信息和年龄以及不是您计算机独有的 IP 地址)。请注意,我们不会在本网站的任何地方故意收集 13 岁以下儿童的联系信息或财务信息。请定期查看本隐私政策,因为我们可能会不时对其进行更新。本隐私政策的最后修订日期为 2021年10月25日。您每次访问本网站、使用服务或向我们提供信息时,即表示您当时接受本隐私政策中描述的做法。您同意,通过使用本网站,您明确并肯定地同意我们使用和披露您提供的信息,并同意接收电子邮件,如下面的隐私政策所述。

隐私政策变更:

随着新功能添加到网站或我们纳入用户的建议,本政策可能会随着时间的推移进行修订。如果我们打算以与我们收集信息时声明的方式大不相同的方式使用或披露您的个人身份信息,您将可以选择我们是否以这种新方式使用或披露您的信息。我们还将在我们的网站显着位置发布隐私政策已修订的通知,以便您可以随时查看我们收集的信息、我们将如何使用该信息以及在何种条件下我们将向任何人披露这些信息。

如何使用您的信息:

我们使用联系信息(即您的电子邮件地址)来帮助我们有效地执行帐户任务(更改密码、找回丢失的密码)、提供您请求的服务、执行质量保证、销售分析和其他业务分析,并就相关事宜与您联系与您向我们下的任何订单。除非满足任何法律、法规、政府要求或司法命令,否则不会将您的财务信息用于其他用途。当您通过本网站进行购买或在本网站注册时,您将向我们提供一个电子邮件地址,我们或这些服务提供商可能会出于本段所述目的与您联系。

联系您获取优惠和促销信息:

您同意,考虑到我们提供的服务的使用,允许我们使用您的个人信息向您发送营销和促销材料。我们也可能向您发送宣传第三方产品的营销和宣传材料。我们不会出租或出售您的个人信息以供第三方使用。这些材料可能包括但不限于: 向您提供有关如何使用服务的附加信息的时事通讯,以及来自我们或第三方的商品和服务的促销优惠。

人口统计信息的使用:

我们可能会使用您的人口统计信息进行业务分析或根据您的兴趣定制网站和通讯。我们可能会与广告商和其他第三方共享匿名的汇总人口统计信息,以便他们可以针对适当的受众定制广告和通信。在本隐私政策允许我们共享您的联系信息或财务信息的任何时候,我们也可能会同时共享您的人口统计信息。

向政府实体披露:

当我们确定此类披露是遵守法律、与执法部门合作或寻求执法协助或保护我们或网站其他访问者或用户的利益或安全时,我们可能会披露特定的联系信息。服务。此外,如果我们发生合并、收购、合并、剥离或破产,您的联系信息可能会传递给第三方。

Cookie 和其他网站跟踪数据的使用:

Cookies : “cookie”是我们保存在您计算机硬盘上的包含非个人信息的小文件。这些 cookie 有助于让您更快地访问您已经访问过的页面。它们还允许您个性化您的页面,并优化您在我们网站上的体验。我们还使用 cookie 来帮助我们了解有多少人访问了我们的网站、他们访问了我们的哪些网页以及他们在那里停留的时间。此信息可帮助我们确定我们的哪些网络功能非常成功以及哪些网站可能需要改进。您可以通过在浏览器的首选项或选项菜单中指明这一点来禁用计算机上的 cookie。大多数浏览器会自动接受 cookie,但允许您禁用它们。禁用 cookie 可能会阻止您正确使用服务或访问网站。

会话 ID:

“会话 ID”允许我们在多个网页请求中识别特定用户。此会话 ID 会尽可能保存在您的 cookie 文件中。如果 cookie 未启用,或者如果用户的 Internet 浏览器程序不支持 cookie,则我们将在请求的网页中放置会话 ID。这使最终用户不必为每个网页请求不断地重新输入某些信息,例如帐户名和密码。每当用户关闭其 Internet 浏览器时,此会话 ID 就会过期。

网站跟踪、报告:

我们的许多网页还包含特殊的电子图像(称为“单像素 gif”或“gif”),使我们能够仅收集非个人身份的流量统计数据和有关我们网站访问者的其他汇总信息。本站(通过自身或第三方)使用此技术收集和积累匿名数据,帮助我们了解和分析访问我们网站的人的体验,并连同您提供的其他信息,定制您未来的访问并改进我们的网站网站。例如,我们捕获有关所用浏览器类型、操作系统软件(例如 Windows 95 与 98 或 Macintosh)、cookie 偏好(用户是否打开或关闭它们)和搜索引擎关键字(哪些关键字做了什么)的数据。访问者用于访问我们的网站)。我们还记录了访问次数,所采取的路径,以及在我们网站内的站点和页面上花费的时间。请记住,这些信息都不是个人身份信息,我们只将这些信息分发给我们的内部员工以及与我们签署了保密协议的合作伙伴。我们与合作伙伴共享的任何信息都反映了整个网站或 Internet 使用趋势,而不是个别信息。

IP地址:

每次您访问本网站时,我们都会自动收集您的 IP 地址和您来自的网页。为了为您管理和优化站点并诊断我们站点的问题,我们使用您的 IP 地址来帮助识别您的身份并收集有关您的广泛人口统计信息。

来自其他网站的信息:

我们可能会放置指向其他方运营的其他网站的链接,并且可能会不时在我们的促销电子邮件中包含指向第三方网站的信息和链接。其中一些其他网站包含我们的品牌名称和商标以及我们拥有的其他知识产权;其他人没有。当您点击这些链接并访问这些其他网站时,无论它们是否包含我们的品牌名称、商标和其他知识产权,您都需要注意,我们不控制这些其他网站或这些其他网站”商业惯例,并且本隐私政策不适用于这些其他网站。因此,这些其他网站的运营商可能会收集有关您的不同类型的信息,并且可能以不同于我们在网站上收集信息的方式使用和披露该信息。我们鼓励您查看他们的隐私政策,并提醒您我们不对他们的行为负责。

信息存储:

您理解并同意我们在服务器上存储和处理您的信息,并且通过向我们提供任何数据,您同意将此类信息传输到网站服务器。当您从我们帐户中删除文件时,您与该文件之间将不再存在任何链接。删除的文件可能会缓存在我们服务器中以节省带宽,以防其他人请求它们。

如何联系我们:

如果您对您提交给我们这个隐私政策或信息有任何疑问,您可以通过邮件方式联系我们

数字千年版权法案


要向我们提交版权侵权通知,您需要发送书面通知,其中包含《数字千年版权法》第 512(c)(3) 条要求和规定的信息。

要撰写适当的 DMCA 通知,请说明以下信息:

  1. 表明自己是您认为受到侵犯的版权作品或专有权的所有者,或代表此类所有者行事的人,并提供物理签名(纸质形式时)或电子签名(电子形式时) )。
  2. 指明您认为受到侵权的受版权保护的作品,或者如果有大量作品受到侵权,请提供作品的代表性清单。
  3. 通过在我们站点上提供包含这些材料的 Web URL,确定侵犯您的版权作品的材料的位置。请不要发送附加的图像、pdf 或其他文件格式的文件,而只能发送包含我们网址的列表。在信函正文中提供所有 URL 是帮助我们快速处理您的请求的最佳方式。
  4. 说明您的联系信息,包括您的姓名、街道地址、电话号码和电子邮件地址。如果您代表版权所有者行事,请同时说明您与版权所有者的关系(例如律师、供应商、代理人)。
  5. 声明您“真诚地相信上述材料的使用未经版权所有者、其代理人或法律授权”。
  6. 声明通知中的信息准确无误,否则会受到伪证处罚。为此,请包括以下声明: “我发誓,通知中的信息准确无误,并且我是(版权)所有者或被授权代表专有权的所有者行事,在作伪证的处罚下涉嫌侵权”。
  7. 请用中文书写,所有电子邮件是任何其他语言都将被忽略。
  8. 要行使您的 DMCA 权利,您必须将适当的 DMCA 通知发送至我们的指定代理至电子邮件。

未能包含上述所有信息可能会导致 DMCA 通知的处理延迟。请注意,根据 DMCA 第 512(f) 条,任何故意歪曲材料或活动侵权的人都可能需要承担责任。

如果我们收到声称侵犯版权的适当通知,它将通过删除或禁止访问声称侵权或成为侵权活动主题的材料迅速做出回应。请注意,我们不一定会向报告者发送有关删除操作的确认。

', - 'update'=>'2025-07-18 23:09:42' + 'update'=>'2025-08-12 18:13:42' ); \ No newline at end of file diff --git a/src/content/posts/中间件/MySQL/MySQL-VARCHAR支持的最大长度.md b/src/content/posts/中间件/MySQL/MySQL-VARCHAR支持的最大长度.md new file mode 100644 index 0000000..c1c32cf --- /dev/null +++ b/src/content/posts/中间件/MySQL/MySQL-VARCHAR支持的最大长度.md @@ -0,0 +1,59 @@ +--- +title: MySQL-VARCHAR支持的最大长度 +published: 2025-09-07 +description: '' +image: '' +tags: ['MySQL', 'VARCHAR'] +category: '中间件 > MySQL' +draft: false +lang: '' +--- + +MySQL中,最大行长度限制为65535字节,如果一行中仅仅有一个varchar字段,它的最大长度是多少呢? +(InnoDB/MyISAM 中一行最大长度限制是 65535 字节(65 KB 左右)。) +长度> 255,存储varchar长度需要2字节,长度<255,存储varchar长度需要1字节。 + +所以 +- 当长度>255且非空的时候,可以存储65535 - 2 = 65533 字节。 +- 当长度>255且可以为空的时候,可以存储65535 - 2 - 1(存储NULL标志) = 65532字节。 +- 当长度<255且非空的时候,可以存储65535 - 1 = 65534 字节。 +- 当长度<255且可以为空的时候,可以存储65535 - 1 - 1(存储NULL标志) = 65533字节。 + +如果只有一个 VARCHAR 字段 + +假设表里只有这一列: + +```sql +CREATE TABLE t ( + v VARCHAR(N) +) ENGINE=InnoDB; +``` + +行最大长度:65535 字节。 + +除了数据外,还有: + +NULL 标志位(至少 1 字节,即使只有一列)。 + +VARCHAR 长度字节(1 或 2)。 + +所以最大能用来存储 v 的 = 65535 - 1 (NULL 标志) - 2 (长度字节) = 65532 字节。 + +因此: + +✅ 单列 VARCHAR 最大可定义为 VARCHAR(65532) + + +> 如果是非null,就不需要占用那一字节null标志位了 +```sql +CREATE TABLE t ( + v VARCHAR(N) NOT NULL +) ENGINE=InnoDB; +``` + +这里N就可以是65533了 + + +![](https://blog.meowrain.cn/api/i/2025/09/07/xz52lm-1.webp) + +![](https://blog.meowrain.cn/api/i/2025/09/07/xy0628-1.webp) \ No newline at end of file diff --git a/src/content/posts/中间件/MySQL/MySQL中CHAR和VARCHAR的区别.md b/src/content/posts/中间件/MySQL/MySQL中CHAR和VARCHAR的区别.md new file mode 100644 index 0000000..c12d119 --- /dev/null +++ b/src/content/posts/中间件/MySQL/MySQL中CHAR和VARCHAR的区别.md @@ -0,0 +1,21 @@ +--- +title: MySQL中CHAR和VARCHAR的区别 +published: 2025-09-07 +description: '' +image: '' +tags: ['MySQL', 'CHAR', 'VARCHAR'] +category: '中间件 > MySQL' +draft: false +lang: '' +--- + +![](https://blog.meowrain.cn/api/i/2025/09/07/xy0628-1.webp) + +# CHAR(n) +char(n) 是固定长度的字符串,CHAR列的长度是固定的,即使存储的字符串长度小于定义的长度,MySQL也会在字符串的末尾填充空格以达到指定的长度。 + +# VARCHAR(n) +可变长度的字符串,varchar列的长度是可变的,存储的字符串长度与实际数据长度相等,并且在存储数据的时候会额外增加1到2个字节(字符串长度超过255,就用两个字节) 用于存储字符串的长度信息。 + +理论上char比varchar会快,因为varchar长度不固定,处理需要多一次运算,但是实际上这种运算耗时微乎其微,而固定大小在很多场景下比较浪费空间,除非存储的字符确认是固定大小或者本身就很短,不然业务上推荐使用varchar. + diff --git a/src/content/posts/中间件/MySQL/MySQL事务隔离级别.md b/src/content/posts/中间件/MySQL/MySQL事务隔离级别.md new file mode 100644 index 0000000..35a9694 --- /dev/null +++ b/src/content/posts/中间件/MySQL/MySQL事务隔离级别.md @@ -0,0 +1,30 @@ +--- +title: MySQL事务隔离级别 +published: 2025-09-07 +description: "" +image: "" +tags: ["事务隔离级别", "MySQL"] +category: "中间件 > MySQL" +draft: false +lang: "" +--- + +![](https://blog.meowrain.cn/api/i/2025/09/07/yscnoh-1.webp) + +# 1 读未提交(脏读,不可重复读,幻读 问题) + +最低的事务隔离级别,在这个事务隔离级别下,一个事务能看到另外一个事务未提交的数据修改,会导致 **脏读** 的问题(读取到其他事务未提交的数据) + +# 2 读已提交(不可重复读,幻读) + +这个事务隔离级别虽然解决了脏读问题,也就是只能读取到另外一个事务已经提交的数据,读取不到另外一个事务没有提交的数据,但是它有**不可重复读**的问题(同一个事务中,相同的查询会返回不同的结果) + +# 3 可重复读(幻读) MySQL 默认事务隔离级别 + +这个事务隔离级别,使用 MVCC(快照读)的方式,解决了不可重复读的问题,但是还是有**幻读**的问题(幻读也就是在一个事务中,读取到另外一个事务插入的行,导致这个事务查询到的结果集行数不同) + +![](https://blog.meowrain.cn/api/i/2025/09/07/yu38tz-1.webp) + +# 4 串行化 + +最高的事务隔离级别,使用排他锁(Exclusive Lock)来保证事务的完全隔离。 diff --git a/src/content/posts/中间件/MySQL/MySQL索引类型有哪些.md b/src/content/posts/中间件/MySQL/MySQL索引类型有哪些.md new file mode 100644 index 0000000..c061ece --- /dev/null +++ b/src/content/posts/中间件/MySQL/MySQL索引类型有哪些.md @@ -0,0 +1,44 @@ +--- +title: MySQL索引类型有哪些 +published: 2025-08-14 +description: '' +image: '' +tags: [索引, MySQL] +category: '中间件 > MySQL' +draft: false +lang: '' +--- + +# MySQL索引类型有哪些 + +## 按数据结构分 +分为 +- B-Tree索引 +- Hash索引 +- Full-text索引 + +![](https://blog.meowrain.cn/api/i/2025/08/15/5dxy1-1.webp) + +创建表的时候,InnoDB存储引擎会根据不同的场景选择不同的列作为索引: +- 有主键:会使用主键作为聚簇索引的索引键 +- 没有主键: 选择第一个不包含NULL值的唯一列作为聚簇索引的索引键 +- 上面两个都没有的情况下,InnoDB会自动生成一个隐式自增id列作为聚簇索引的索引键。 + +其他索引都属于辅助索引,也就是非聚簇索引或者二级索引。 +## 按物理存储分 +分为 +- 聚簇索引(主键索引) +- 二级索引(辅助索引) + +## 按字段特性分 + +- 主键索引 +- 唯一索引 +- 普通索引 +- 前缀索引 + +主键索引是唯一的,且不允许为NULL。每个表只能有一个主键索引。 + +## 按字段个数分 +- 单列索引 +- 联合索引 diff --git a/src/content/posts/工作/flowable学习.md b/src/content/posts/工作/flowable学习.md new file mode 100644 index 0000000..0ed984d --- /dev/null +++ b/src/content/posts/工作/flowable学习.md @@ -0,0 +1,23 @@ +--- +title: flowable学习 +published: 2025-08-12 +description: '' +image: '' +tags: [Flowable,流程引擎,工作流] +category: '工作' +draft: false +lang: '' +--- + + +![](https://blog.meowrain.cn/api/i/2025/08/12/h1jv9s-1.webp) + +发布流程后,会在下面几张表里有记录 +![](https://blog.meowrain.cn/api/i/2025/08/12/h9knpj-1.webp) + +![](https://blog.meowrain.cn/api/i/2025/08/12/h9qh26-1.webp) + +![](https://blog.meowrain.cn/api/i/2025/08/12/h9ujzp-1.webp) + + +![](https://blog.meowrain.cn/api/i/2025/08/13/xu7b2n-1.webp) \ No newline at end of file diff --git a/src/content/posts/数据结构与算法/动态规划解题思路.md b/src/content/posts/数据结构与算法/动态规划解题思路.md new file mode 100644 index 0000000..7d3b7bc --- /dev/null +++ b/src/content/posts/数据结构与算法/动态规划解题思路.md @@ -0,0 +1,103 @@ +--- +title: 动态规划解题思路 +published: 2025-08-17 +description: '' +image: '' +tags: [动态规划,数据结构与算法] +category: '数据结构与算法' +draft: false +lang: '' +--- + +# 动态规划解题思路 + +## 斐波那契数列 +暴力递归 +```java + // f(n) 计算第 n 个斐波那契数 + static int fib(int n) { + if(n <= 1 && n >= 0) { + return n; + } + return fib(n - 1) + fib(n - 2); + } +``` + +使用Memo数组存储,避免重复计算 +```java + + static long fib2(int n) { + long[] memo = new long[n + 1]; + Arrays.fill(memo,-1); + return dp(memo,n); + + } + static long dp(long[] memo,int n) { + if(n == 0 || n == 1) { + return n; + } + if(memo[n] != -1) { + return memo[n]; + } + memo[n] = dp(memo,n - 1) + dp(memo,n - 2); + return memo[n]; + } +``` + +## 零钱兑换 + +![](https://blog.meowrain.cn/api/i/2025/08/17/julgjy-1.webp) + +```java +class Solution { + public int coinChange(int[] coins, int amount) { + int[] dp = new int[amount + 1]; + Arrays.fill(dp,amount + 1); + dp[0] = 0; + for(int i = 0;i