{"id":7078,"date":"2022-05-11T21:16:36","date_gmt":"2022-05-11T21:16:36","guid":{"rendered":"https:\/\/www.directimpactsolutions.com\/comment-mesurer-la-taille-des-tables-dans-filemaker\/"},"modified":"2025-05-01T05:08:01","modified_gmt":"2025-05-01T05:08:01","slug":"comment-mesurer-la-taille-des-tables-dans-filemaker","status":"publish","type":"post","link":"https:\/\/www.directimpactsolutions.com\/fr\/comment-mesurer-la-taille-des-tables-dans-filemaker\/","title":{"rendered":"Comment mesurer la taille des tables dans FileMaker"},"content":{"rendered":"<p>Vous \u00eates-vous d\u00e9j\u00e0 demand\u00e9 quelles tables de votre base de donn\u00e9es occupent le plus d&rsquo;espace de stockage sur votre serveur ? Vous souhaitez peut-\u00eatre surveiller la vitesse \u00e0 laquelle la taille de vos tables augmente afin d&rsquo;\u00e9laborer une strat\u00e9gie d&rsquo;archivage pour contr\u00f4ler la consommation d&rsquo;espace de stockage.<\/p><p>Cet article pr\u00e9sente une technique permettant de cr\u00e9er un script modulaire et portable qui peut \u00eatre copi\u00e9 et coll\u00e9 dans n&rsquo;importe quelle solution FileMaker pour mesurer la taille des tables. Cela peut vous aider \u00e0 contr\u00f4ler la taille de stockage de votre solution.<\/p><h2 class=\"wp-block-heading\" id=\"How-do-we-measure-table-sizes?\">Comment mesurer la taille d&rsquo;une table<\/h2><p>Commen\u00e7ons par parler de la fa\u00e7on dont nous mesurons la taille des tables. Cette m\u00e9thode de mesure peut \u00eatre compar\u00e9e \u00e0 la fa\u00e7on dont je mesure le poids de mon chat :<\/p><p>Je prends mon chat dans mes bras, je mesure notre poids combin\u00e9 sur la balance, je le repose, puis je mesure \u00e0 nouveau le poids sur la balance. La diff\u00e9rence entre les deux mesures est le poids de mon chat.<\/p><p>Lorsque nous mesurons la taille d&rsquo;une table, nous enregistrons une copie compacte de la base de donn\u00e9es, nous mesurons sa taille, nous tronquons la table que nous voulons mesurer, nous enregistrons une autre copie compact\u00e9e et nous mesurons \u00e0 nouveau la taille. La diff\u00e9rence entre les deux mesures correspond alors approximativement \u00e0 la taille de la table.<\/p><h2 class=\"wp-block-heading\" id=\"How-do-we-automate-this?\">Comment pouvons-nous automatiser cela ?<\/h2><p>Nous savons maintenant comment mesurer la taille d&rsquo;une table, mais je ne veux pas le faire manuellement. Je veux mesurer et enregistrer la taille automatiquement. Comment faire ? La solution la plus simple consiste \u00e0 utiliser un script pour effectuer ces \u00e9tapes \u00e0 ma place.<\/p><p>Pour enregistrer une copie compact\u00e9e, nous pouvons utiliser l&rsquo;action de script \u00ab\u00a0Enregistrer une copie\u00a0\u00bb et sp\u00e9cifier l&rsquo;option \u00ab\u00a0Copie compact\u00e9e\u00a0\u00bb :<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"584\" height=\"29\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-1.png\" alt=\"measure table size\" class=\"wp-image-6968\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-1.png 584w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-1-300x15.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-1-480x24.png 480w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/figure><p>Pour tronquer une table, nous pouvons utiliser l&rsquo;action de script \u201cTronquer la table\u201d :<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"393\" height=\"24\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-2.png\" alt=\"table size filemaker script\" class=\"wp-image-6970\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-2.png 393w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-2-300x18.png 300w\" sizes=\"auto, (max-width: 393px) 100vw, 393px\" \/><\/figure><p>Pour mesurer la taille de la copie compact\u00e9e, nous pouvons utiliser l&rsquo;action de script \u201cObtenir la taille du fichier\u201d :<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"409\" height=\"28\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-3.png\" alt=\"FileMaker table size step 3\" class=\"wp-image-6972\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-3.png 409w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-3-300x21.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-3-400x28.png 400w\" sizes=\"auto, (max-width: 409px) 100vw, 409px\" \/><\/figure><p>En les combinant, je dispose d&rsquo;un flux de travail automatis\u00e9 qui enregistre, mesure, tronque, enregistre, mesure et compare.<\/p><h2 class=\"wp-block-heading\" id=\"How-to-do-this-dynamically?\">Comment faire cela de mani\u00e8re dynamique ?<\/h2><p>Malheureusement, l&rsquo;action de script Tronquer la table ne nous permet pas de sp\u00e9cifier un nom de table calcul\u00e9 en tant que param\u00e8tre. Cela signifie que nous devons soit cr\u00e9er plusieurs copies du bloc d&rsquo;actions de script que nous venons de voir, une pour chaque table, soit trouver un moyen de tronquer les tables de mani\u00e8re dynamique. Ceci m&rsquo;am\u00e8ne \u00e0 l&rsquo;\u00e9tape 3, rendre ce processus dynamique, modulaire et portable.<\/p><p>Comme mentionn\u00e9 pr\u00e9c\u00e9demment, la contrainte est que l&rsquo;action de script Tronquer la table ne prend pas en charge la saisie dynamique. Cependant, elle a l&rsquo;option de tronquer la table actuelle. Si je peux acc\u00e9der \u00e0 au moins un mod\u00e8le par table, je peux toutes les tronquer.<\/p><p>Le d\u00e9fi consiste maintenant \u00e0 trouver un moyen d\u2019acc\u00e9der \u00e0 un mod\u00e8le par table. Nous pouvons facilement obtenir une liste de tous les mod\u00e8les du syst\u00e8me en utilisant la fonction de conception \u201c<em>NomsModeles<\/em>\u201d, et l\u2019action de script \u201c<em>Activer mod\u00e8le<\/em>\u201d prend en charge la saisie dynamique, ce qui signifie que vous pouvez acc\u00e9der \u00e0 un mod\u00e8le par son nom. La combinaison de ces deux \u00e9l\u00e9ments nous permettra de couvrir toutes les mises en page du syst\u00e8me. Si nous supposons que chaque table que nous voulons mesurer poss\u00e8de au moins une disposition, cette m\u00e9thode atteindra notre objectif.<\/p><h3 class=\"wp-block-heading\" id=\"Get-a-list-of-all-base-table-names\">Obtenir une liste de tous les noms des tables de base<\/h3><p>Optimisons un peu tout cela. Dans un syst\u00e8me FileMaker, nous savons tous qu&rsquo;il est tr\u00e8s courant qu&rsquo;une table ait de nombreuses occurrences dans le graphique des relations. Nous savons \u00e9galement que chaque occurrence de table peut avoir plusieurs mod\u00e8les bas\u00e9s sur elle. Nous n&rsquo;avons pas besoin de tronquer la table sur toutes ces occurrences, nous n&rsquo;avons besoin de le faire qu&rsquo;une seule fois. Dans mon script, j&rsquo;ai ajout\u00e9 un m\u00e9canisme pour enregistrer les tables qui ont \u00e9t\u00e9 tronqu\u00e9es ou mesur\u00e9es. Si une table a d\u00e9j\u00e0 \u00e9t\u00e9 mesur\u00e9e, nous pouvons la sauter la prochaine fois que nous atterrirons sur un autre mod\u00e8le bas\u00e9e sur elle.<\/p><p>J\u2019utilise la fonction \u201c<em>ExecuterSQL<\/em>\u201d pour interroger une table syst\u00e8me FileMaker et obtenir tous les noms des tables de base. Il s\u2019agit en quelque sorte d\u2019une fonctionnalit\u00e9 cach\u00e9e de la fonction \u201c<em>ExecuterSQL<\/em>\u201d ; elle vous permet d\u2019interroger les m\u00e9tadonn\u00e9es de votre base de donn\u00e9es, comme les noms des occurences de table, des tables de base et des rubriques.<\/p><p>Voici un lien vers la <a href=\"https:\/\/help.claris.com\/en\/sql-reference.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">r\u00e9f\u00e9rence FileMaker SQL<\/a>, qui explique cela plus en d\u00e9tail. Dans la r\u00e9f\u00e9rence, allez au chapitre intitul\u00e9 \u201cObjets syst\u00e8me FileMaker\u201d, et vous verrez comment utiliser cette fonction.<\/p><h3 class=\"wp-block-heading\" id=\"Cross-off-item-from-the-list-after-it&#x2019;s-measured\">Barrer les \u00e9l\u00e9ments apr\u00e8s la mesure<\/h3><p>Maintenant que j&rsquo;ai une liste de noms de tables de base, j&rsquo;ai besoin d&rsquo;un moyen de les rayer une par une. Pour ce faire, j&rsquo;ai besoin de savoir sur quelle table de base une mise en page est bas\u00e9e.<\/p><p>Cela semble plus trivial que cela ne l\u2019est. Nous disposons de la fonction \u201c<em>Obtenir(NomTableMod\u00e8le)<\/em>\u201d. Toutefois, cette fonction renvoie le nom de l\u2019occurrence de la table au lieu du nom de la table de base sur laquelle la mise en page est bas\u00e9e.<\/p><p>Pour obtenir le nom de la table de base, je dois \u00e0 nouveau utiliser la fonction ExecuteSQL pour interroger les tables du syst\u00e8me et trouver la table de base sur laquelle l\u2019occurrence de la table est bas\u00e9e.<\/p><p>Gr\u00e2ce \u00e0 la possibilit\u00e9 d&rsquo;obtenir le nom de la table de base d&rsquo;une disposition, nous pouvons supprimer le nom de la table de base correspondante de la liste chaque fois que nous en mesurons une. Ainsi, la prochaine fois que nous rencontrons une disposition bas\u00e9e sur la m\u00eame table de base, nous pouvons l&rsquo;ignorer.<\/p><h2 class=\"wp-block-heading\" id=\"Putting-everything-together\">Tout mettre en place<\/h2><p>Maintenant, mettons tout ensemble.<\/p><p>Nous commen\u00e7ons par obtenir dynamiquement une liste de tous les noms de tables de base pour nous aider \u00e0 d\u00e9terminer ce qu&rsquo;il faut mesurer.<\/p><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"973\" height=\"91\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-4.png\" alt=\"table size in FileMaker\" class=\"wp-image-6996\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-4.png 973w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-4-300x28.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-4-768x72.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-4-480x45.png 480w\" sizes=\"auto, (max-width: 973px) 100vw, 973px\" \/><\/figure><p>Ensuite, nous utilisons une boucle pour passer en revue toutes les mises en page du syst\u00e8me. Pour chaque mise en page, si elle est bas\u00e9e sur un tableau de base qui n&rsquo;a pas \u00e9t\u00e9 mesur\u00e9, nous mesurons la taille du fichier, nous tronquons ce tableau, puis nous mesurons \u00e0 nouveau et calculons la taille du tableau tronqu\u00e9. Et nous rayons ce tableau de base de notre liste, afin qu&rsquo;il ne soit pas mesur\u00e9 \u00e0 nouveau.<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"914\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/image-20220514-154935-1024x914.png\" alt=\"\" class=\"wp-image-7119\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/image-20220514-154935-1024x914.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/image-20220514-154935-300x268.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/image-20220514-154935-768x686.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/image-20220514-154935-1080x964.png 1080w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/image-20220514-154935-980x875.png 980w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/image-20220514-154935-480x428.png 480w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/image-20220514-154935.png 1211w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Enfin, nous enregistrons le journal sur le chemin du bureau de l&rsquo;utilisateur sous forme de fichier CSV, \u00e0 l&rsquo;aide des \u00e9tapes de script \u201c[\u2026] fichier de donn\u00e9es\u201d.<\/p><figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"222\" src=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-6-1024x222.png\" alt=\"Claris FileMaker table sizing\" class=\"wp-image-7000\" srcset=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-6-1024x222.png 1024w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-6-300x65.png 300w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-6-768x166.png 768w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-6-1080x234.png 1080w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-6-980x212.png 980w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-6-480x104.png 480w, https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/table-size-filemaker-6.png 1241w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Tout ce qui se trouve ici est natif de FileMaker. Aucun plugin ou fonction personnalis\u00e9e n&rsquo;est utilis\u00e9, ce qui signifie qu&rsquo;il peut \u00eatre facilement copi\u00e9 et coll\u00e9 dans n&rsquo;importe quel fichier.<\/p><p>Voici le fichier de d\u00e9monstration qui contient le script complet:<\/p><div class=\"wp-block-file\"><a id=\"wp-block-file--media-dadb72cc-cd34-411c-bd7f-5b88fc4f3cb5\" href=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/03\/Get_Size_of_All_Tables_Demo-File_v1_3.zip\">Get_Size_of_All_Tables_Demo-File_v1_3<\/a><a href=\"https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2023\/03\/Get_Size_of_All_Tables_Demo-File_v1_3.zip\" class=\"wp-block-file__button wp-element-button\" download=\"\" aria-describedby=\"wp-block-file--media-dadb72cc-cd34-411c-bd7f-5b88fc4f3cb5\">T\u00e9l\u00e9chargement<\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>Vous \u00eates-vous d\u00e9j\u00e0 demand\u00e9 quelles tables de votre base de donn\u00e9es occupent le plus d&rsquo;espace de stockage sur votre serveur ? Vous souhaitez peut-\u00eatre surveiller la vitesse \u00e0 laquelle la taille de vos tables augmente afin d&rsquo;\u00e9laborer une strat\u00e9gie d&rsquo;archivage pour contr\u00f4ler la consommation d&rsquo;espace de stockage. Cet article pr\u00e9sente une technique permettant de cr\u00e9er &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.directimpactsolutions.com\/fr\/comment-mesurer-la-taille-des-tables-dans-filemaker\/\"> <span class=\"screen-reader-text\">Comment mesurer la taille des tables dans FileMaker<\/span> Lire la suite >><\/a><\/p>\n","protected":false},"author":11,"featured_media":7055,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","footnotes":""},"categories":[34],"tags":[113],"class_list":["post-7078","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-low-code","tag-la-taille-des-tables"],"uagb_featured_image_src":{"full":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/mesurer-tables-dans-filemaker.jpg",1300,736,false],"thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/mesurer-tables-dans-filemaker-150x150.jpg",150,150,true],"medium":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/mesurer-tables-dans-filemaker-300x170.jpg",300,170,true],"medium_large":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/mesurer-tables-dans-filemaker-768x435.jpg",768,435,true],"large":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/mesurer-tables-dans-filemaker-1024x580.jpg",1024,580,true],"1536x1536":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/mesurer-tables-dans-filemaker.jpg",1300,736,false],"2048x2048":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/mesurer-tables-dans-filemaker.jpg",1300,736,false],"woocommerce_thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/mesurer-tables-dans-filemaker-300x300.jpg",300,300,true],"woocommerce_single":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/mesurer-tables-dans-filemaker.jpg",600,340,false],"woocommerce_gallery_thumbnail":["https:\/\/www.directimpactsolutions.com\/wp-content\/uploads\/2022\/05\/mesurer-tables-dans-filemaker-100x100.jpg",100,100,true]},"uagb_author_info":{"display_name":"Weihao Ding","author_link":"https:\/\/www.directimpactsolutions.com\/fr\/author\/weihao-dingdirectimpactsolutions-com\/"},"uagb_comment_info":0,"uagb_excerpt":"Vous \u00eates-vous d\u00e9j\u00e0 demand\u00e9 quelles tables de votre base de donn\u00e9es occupent le plus d&rsquo;espace de stockage sur votre serveur ? Vous souhaitez peut-\u00eatre surveiller la vitesse \u00e0 laquelle la taille de vos tables augmente afin d&rsquo;\u00e9laborer une strat\u00e9gie d&rsquo;archivage pour contr\u00f4ler la consommation d&rsquo;espace de stockage. Cet article pr\u00e9sente une technique permettant de cr\u00e9er\u2026","_links":{"self":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts\/7078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/comments?post=7078"}],"version-history":[{"count":14,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts\/7078\/revisions"}],"predecessor-version":[{"id":20101,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/posts\/7078\/revisions\/20101"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/media\/7055"}],"wp:attachment":[{"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=7078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/categories?post=7078"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.directimpactsolutions.com\/fr\/wp-json\/wp\/v2\/tags?post=7078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}