{"id":55000451,"date":"2019-08-01T00:00:00","date_gmt":"2020-02-28T10:29:38","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=451"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Performance_Verbindung_aktiv_halten","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html","title":{"rendered":"Performance: Verbindung aktiv halten"},"content":{"rendered":"<p class='introduction'>Wenn Sie mit einer in Frontend- und Backenddatenbank aufgeteilten Anwendung arbeiten, kann es sein, dass die Performance bei verschiedenen Operationen schlecht ist &#8211; zum Beispiel beim &ouml;ffnen von Formularen, die an die Tabellen im Backend gebunden sind. Um dies zu &auml;ndern, gibt es einen Trick. Welcher Trick das ist, erl&auml;utern wir in diesem Artikel.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in den Datenbanken <b>1904_Frontend.accdb<\/b> und <b>1904_Backend.accdb<\/b>.<\/p>\n<h2>Performancefresser<\/h2>\n<p>Wenn Sie eine in Frontend- und Backenddatenbank aufgeteilte Anwendung nutzen, befinden sich die Tabellen der Anwendung im Backend und die Abfragen, Formulare, Berichte und so weiter im Frontend.<\/p>\n<p>Das Frontend greift auf die Tabellen im Backend &uuml;ber Verkn&uuml;pfungen zu, die im Prinzip wie lokale Tabellen verwendet werden k&ouml;nnen.<\/p>\n<p>Der erste wichtige Unterschied zwischen lokalen Tabellen (also Tabellen, die direkt im Frontend gespeichert sind &#8211; zum Beispiel, wenn kein Backend vorhanden ist) und der Verwendung von verkn&uuml;pften Tabellen ist folgender: Eine Datenbank legt immer, wenn Sie ge&ouml;ffnet wird, eine <b>.ldb<\/b>&#8211; oder <b>.laccdb<\/b>-Datei an. Das geschieht bei der Datenbank, die ihre Tabelle lokal speichert, einmal beim &ouml;ffnen der Datenbank und beim Schlie&szlig;en der Datenbank verschwindet die Datei wieder.<\/p>\n<p>Wenn eine Frontend-Datenbank &uuml;ber die Verkn&uuml;pfung auf eine Backend-Datenbank zugreift, wird zus&auml;tzlich eine <b>.ldb<\/b>&#8211; oder <b>.laccdb<\/b>-Datei ge&ouml;ffnet. Diese wird gleich wieder geschlossen, wenn der Benutzer das Objekt in der Frontenddatenbank schlie&szlig;t, das mit der Tabelle im Backend verkn&uuml;pft ist.<\/p>\n<p>Welche Aufgabe erledigt diese <b>.ldb<\/b>&#8211; oder <b>.laccdb<\/b>-Datei aber nun Wenn wir die Datei &ouml;ffnen, finden wir darin eine Liste von Eintr&auml;gen mit dem folgenden Format:<\/p>\n<p>[Rechnername]     [Benutzername]<\/p>\n<p>F&uuml;r jeden Benutzer mit einer aktuell ge&ouml;ffneten Verkn&uuml;pfung auf die Backend-Datenbank wird ein Eintrag in dieser Datei angelegt.<\/p>\n<p>Wenn nun mehrere Benutzer immer wieder Verkn&uuml;pfungen zu den Tabellen &ouml;ffnen und wieder schlie&szlig;en, erfolgen st&auml;ndig Zugriffe auf die <b>.ldb<\/b>&#8211; beziehungsweise <b>.laccdb<\/b>-Datei.<\/p>\n<h2>Schnellerer Zugriff mit bestehender Verbindung<\/h2>\n<p>Der Zugriff auf die Daten einer Backenddatenbank sollte schneller erfolgen, wenn es bereits eine Verbindung zum Backend gibt, also wenn das Frontend bereits &uuml;ber eine Verkn&uuml;pfung auf eine Tabelle im Backend zugreift. Wenn der Benutzer also ein Formular ge&ouml;ffnet hat und dann ein weiteres Formular &ouml;ffnet, das Daten aus dem Backend anzeigt, sollte das &ouml;ffnen an dieser Stelle schneller erfolgen, als wenn es das erste Formular w&auml;re, das ge&ouml;ffnet wird und eine Verbindung zum Backend herstellt.<\/p>\n<h2>Verbindung offenhalten<\/h2>\n<p>Nun k&ouml;nnte man dem Benutzer empfehlen, immer ein Formular offen zu halten, damit die anderen Formulare schneller ge&ouml;ffnet werden k&ouml;nnen. Aber so arbeiten wir nicht &#8211; eine solche L&ouml;sung sollte ohne Einbindung des Benutzers funktionieren. Au&szlig;erdem kann es immer sein, dass der Benutzer dennoch alle Formulare der Anwendung schlie&szlig;t &#8211; und dann verz&ouml;gert sich der Start des n&auml;chsten Formulars doch wieder.<\/p>\n<p>Wie k&ouml;nnen wir aber eine Verbindung zum Backend offenhalten, wenn wir kein Formular dazu benutzen k&ouml;nnen Eine Tabellenverkn&uuml;pfung ge&ouml;ffnet halten Eine Abfrage Aber halt: Wir haben ja nicht gesagt, dass wir kein Formular f&uuml;r die Erledigung dieser Aufgabe verwenden wollen.<\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000451\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000451?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000451\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"8d63f6cbe9\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn Sie mit einer in Frontend- und Backenddatenbank aufgeteilten Anwendung arbeiten, kann es sein, dass die Performance bei verschiedenen Operationen schlecht ist &#8211; zum Beispiel beim &ouml;ffnen von Formularen, die an die Tabellen im Backend gebunden sind. Um dies zu &auml;ndern, gibt es einen Trick. Welcher Trick das ist, erl&auml;utern wir in diesem Artikel.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662019,66042019,44000002],"tags":[],"class_list":["post-55000451","post","type-post","status-publish","format-standard","hentry","category-662019","category-66042019","category-Grundlagen"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Performance: Verbindung aktiv halten - Access [basics]<\/title>\n<meta name=\"description\" content=\"Wenn Sie mit einer in Frontend- und Backenddatenbank aufgeteilten Anwendung arbeiten, kann es sein, dass die Performance bei verschiedenen Operationen schlecht ist \u2013 zum Beispiel beim \u00d6ffnen von Formularen, die an die Tabellen im Backend gebunden sind. Um dies zu \u00e4ndern, gibt es einen Trick. Welcher Trick das ist, erl\u00e4utern wir in diesem Artikel.\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Performance: Verbindung aktiv halten - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"Wenn Sie mit einer in Frontend- und Backenddatenbank aufgeteilten Anwendung arbeiten, kann es sein, dass die Performance bei verschiedenen Operationen schlecht ist \u2013 zum Beispiel beim \u00d6ffnen von Formularen, die an die Tabellen im Backend gebunden sind. Um dies zu \u00e4ndern, gibt es einen Trick. Welcher Trick das ist, erl\u00e4utern wir in diesem Artikel.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-28T10:29:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/pic_451_001.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"7\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"..\/tl_files\/images\/pic_451_001.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html\",\"name\":\"Performance: Verbindung aktiv halten - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html#primaryimage\"},\"datePublished\":\"2020-02-28T10:29:38+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"description\":\"Wenn Sie mit einer in Frontend- und Backenddatenbank aufgeteilten Anwendung arbeiten, kann es sein, dass die Performance bei verschiedenen Operationen schlecht ist \\u2013 zum Beispiel beim \\u00d6ffnen von Formularen, die an die Tabellen im Backend gebunden sind. Um dies zu \\u00e4ndern, gibt es einen Trick. Welcher Trick das ist, erl\\u00e4utern wir in diesem Artikel.\",\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Performance_Verbindung_aktiv_halten.html\",\"name\":\"Performance: Verbindung aktiv halten\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000451"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000451\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}